Digi XBee3不仅在固件中提供了ZigBee,Digimesh,LTE CAT1,LTE-M,NB-IOT等物联网无线协议栈,并且它本身也是一个可编程平台,除了可以外挂MCU实现各种定制应用,也可以利用自身的MicroPython可编程平台,无需MCU就能在程序上实现一些协议转换和通信功能。

  • 安装python IDE开发环境

XBee3提供XBee MicroPython插件下载,可以利用PyCharm来开发python程序。您可以安装PyCharm社区版,然后安装XBee MicroPython插件。在PyCharm的Configure>Plugins中,从市场搜索xbee并安装该插件,安装好后,启动PyCharm时就可以选择“New Digi project”,看到有关XBee的项目创建或导入按钮。如果您没有安装过Python,您还需要下载Python解释器,到官网www.python.org去下载(不要在ide内下载,因为访问很慢),比如windows平台,就去下载最新版本python 3.7.3的Windows x86-64 executable installer安装包

  • 导入一个XBee3 MicroPython示例程序

点击“导入XBee MicroPython例程项目”,在接下来的提示框中选择您的XBee3平台,点击下一步,会出现许多可用的例程,像GPIO,I2C等接口都很常用,在这个示例中,我们用XBee Transmit Data和XBee Echo server这两个例程来演示用法。

  • 准备工作

准备好两个XBee3模块,比如XBee3 Digimesh,配置为115200/8/n/1和API模式。

  • Echo Server例程

打开Pyhcarm,新建个Digi项目并导入例程Echo Server。在IDE的右上角选中要运行该程序的XBee模块。运行程序,需要按提示打开REPL模式,然后Pycharm会自动格式化文件系统,部署程序并写入。值得注意的是,默认会设置好MicroPython的自动启动(PS=1,AP=4),这样即使模块断电,重上新电后也能自动运行。但AP=4后,API模式的串口输入就没用了,变成由MicroPython程序处理收发数据。此时,如果想知道程序运行的情况,除了用PyCharm的XBee插件上的XBee REPL console外,也可以在XCTU上打开MicroPython Terminal来查看程序代码中的print()相关的打印信息。

注意:如果你在Pycharm中停止程序运行,在XCTU要继续用micropython的话,用ctrl_B进入REPL模式,然后可以打python命令了。或是用ctrl_D重置REPL来运行程序。