是否可以通过串行端口与 PIC 单片机通信 Android 应用程序?我可以使用哪些低价手机?对不起,我的英语,我来自哥伦比亚。
7 回答
是的,也可以通过蓝牙与 PIC 微控制器通信 Android 应用程序。检查这里的帖子,每件事都写得如此描述性,我测试了代码,给出了它们,它在 proteus 中模拟。
http://www.nbcafe.in/interfacing-android-with-pic-microcontroller-via-bluetooth/
Microchip 现在有一个基于 PIC 24F 的开发板,它通过 USB 端口使用 Android Open Accessory(我认为这就是 AOA 的意思)协议。您可以从 Microchip 购买开发板(称为 Android Discovery Kit 或 ADK)。我相信 Android 软件和 PIC 软件都在当前的 Microchip PIC 软件库下载包中。
当然,如果你想去开源,你可以出去拿 IOIO 板。我相信该板使用稍微不同的 PIC 24F 处理器。它可能使用的是 Android 调试协议,而不是较新的 AOA 协议。我认为这取决于您获得的 IOIO 板的版本。此外,我认为 IOIO 板可以作为 Android(就像 ADK 一样)以及一些(不是全部)蓝牙 USB 加密狗的主机。
您必须根据 Microchip 的示例 Android ADK 代码“滚动您自己的代码”。但是,使用 IOIO 板,您可以下载可以调用的方法库。该库将 PIC 功能抽象为只需在 Eclipse 编辑器中键入 IOIO... 并返回匹配方法列表即可。或者我是这么理解的。
嗯,可以通过蓝牙间接实现,这是肯定的。正如 Peter Chuang 所说,过去已经为连接 Arduino 板和 Android 手机做了一些工作。完全相同的方法当然也适用于 PIC 微控制器。
所有你需要的是:
- 一个 PIC,最好带有硬件 UART 以简化编码(其他软件 UART 例程遍布整个网络);
- 蓝牙串口模块。RovingNetworks 的 RN-42/RN41 就是一个例子(这是您可能在 Sparkfun 和其他业余爱好者餐饮电子商店中找到的许多蓝牙适配器的基础)
- 带蓝牙的安卓手机。
我自己实际测试过这样的接口,PIC18F26K22 连接到 RN-42 模块,两者均由 3.3V 线性稳压器(MCP1700 3.3V)供电。它几乎是即插即用的,如果在低范围内(9600 波特和 19200 波特),波特率很容易实现。至于更高的波特率,如果 PIC 由 MHz 范围内的稳定振荡器提供时钟,并且选择的波特率对应于 USART BSEL 寄存器值,这也可能导致 2 个设备之间的波特率接近匹配(这是可能的,因为 RN-42 允许自定义波特率)。
至于使用 Android SDK 编码蓝牙,使用谷歌自己的蓝牙类(除其他外)是一项简单BluetoothAdapter
的任务......
是的,这是可能的。您需要使用通过蓝牙 SPP 进行通信的蓝牙芯片。例如,我使用CSR-BC417获取更多信息链接到蓝牙芯片的信息
微控制器使用 UART AT 命令与蓝牙芯片对话。
在另一端,您已经拥有像蓝牙聊天这样的 Android 应用程序,您可以在其中看到来自微控制器的数据并做出响应。
有可能,我正在使用我的 Android 智能手机向 PIC 微控制器发送订单,您可以使用蓝牙或 WiFi 硬件和 PIC 的 UART,例如使用 de HC-06 蓝牙模块或 Microchip 的 RN171XV WiFi 模块
关于应用程序,我正在使用这个: https ://play.google.com/store/apps/details?id=com.vagoscorp.virtualterminal 它是免费的并且有很多工作模式
例如,不是将 123 作为字符串 '1' '2' '3' 发送,您可以将其作为字节发送(字节值可以是 0 到 255),让您可以将数据作为数字保存并直接使用在微控制器中;)。您也可以将接收到的信息视为字符和/或字节(字符“A”的字节值为 65,即 ASCII 码,“1”将为 49)
我希望它会帮助你
是的,您可以连接它。最好或最简单的连接方式是使用 HC-05 蓝牙模块。它很便宜,并且有大量可用的教程制作了 google serch HC-05 界面图片。
另一种方法是,如果您想通过 USB 转串口转换器连接,您需要开发 USB 转串口驱动程序,或者您可以使用支持 linux 驱动程序的 USB 转串口转换器芯片并使用这些驱动程序制作一个 android 应用程序。如果您不是专家,我建议使用 hc-05 蓝牙。这是一个更好的选择。