

這個解決方案是讓電腦沒有買qrcode掃描器時,可以讓手機代替掃描器把QRCODE掃進電腦,利用wifi連接,先前是想用藍芽連接,但沒有很順利。
https://github.com/s1059005/Send-QR-message-via-wifi
專案概述
- 專案名稱: Wifi QR Scanner
- 背景: 隨著行動裝置的普及,QR 碼掃描應用廣泛應用於支付、登錄和數據傳輸。本專案旨在開發一個使用 Flutter 框架的應用,結合Wifi技術,將掃描的 QR 碼數據傳輸至桌機端,實現跨設備交互。
- 目的: 提供一個簡單易用的工具,允許用戶透過手機掃描 QR 碼,並將數據無線傳輸至桌機,模擬鍵盤輸入。
專案目標
- 開發一個支援 Android 的 Flutter 應用,整合 QR 碼掃描和Wifi通信功能。
- 實現與桌機端 Python 程式的無縫連接,傳輸掃描數據。
- 確保應用在實體手機上穩定運行,兼容舊型號設備(如 ASUS Z00LD)。
- 提供用戶友好的介面,包含設備列表和掃描結果顯示。
需求分析
功能需求
- QR 碼掃描:使用手機相機掃描 QR 碼,提取文本數據。
- Wifi連接:透過Wifi議連接桌機,傳輸掃描數據。
- 數據傳輸:將 QR 碼內容發送到桌機,模擬鍵盤輸入。
- 設備管理:顯示可用的藍牙設備列表,支援設備選擇和連接。
非功能需求
- 性能:應用應在低端設備上流暢運行,響應時間少於 2 秒。
- 兼容性:支援 Android 4.4(API 19)及以上版本。
- 安全性:確保藍牙通信數據不被未授權設備攔截(使用標準 UUID)。
- 易用性:提供直觀的 UI,支援初學者操作。
硬體與軟體需求
- 開發環境:
- 作業系統: Windows 10/11
- Flutter SDK: 最新版本(2025年5月)
- Android Studio: 用於 Android 模擬器和 SDK 管理
- JDK: OpenJDK 17(或 Android Studio 內建)
- 目標設備: Android 手機(例如 ASUS Z00LD),支援藍牙 4.0 及以上
- 桌機端: Windows 電腦,安裝 Python 3.x 及 PyBluez
技術選項
開發框架
- Flutter: 跨平台框架,支援 Android 開發,結合 Dart 語言。
- 插件:
bluetooth_classic: ^0.0.3: 提供藍牙經典通信功能。qr_code_scanner: ^1.0.1: 實現 QR 碼掃描。
建構工具
- Gradle: 使用 Groovy DSL 配置 Android 建構。
- Android SDK: 支援 API 19-30。
桌機端實現
- Python: 使用 PyBluez 實現藍牙伺服器,結合 PyAutoGUI 模擬鍵盤輸入。