基于GoKit(4)的物联网应用开发沙龙体验

 

目录node

1、MDM9206python

2、GoKit(4)网络

3、实操体验app

开发环境:python2.7

云端配置:ide

源码修改:工具

程序下载:ui

远程操控:命令行

我的体验感觉: 3d


首先,感谢下Qualcomm & 机智云提供的此次交流和实操体验的机会,以及汪燕和林晓俊两位嘉宾的分享,还有其余现场工做人员。

废话很少,下来我主要从 高通的MDM9206芯片 、机智云的GoKit4开源套件,以及现场的实操体验这三点来进行分享;

1、MDM9206

Qualcomm 发布MDM9206 LTE IoT调制解调器,一款专为支持全球多模功能而打造的解决方案,它可支持eMTC(Cat M1)、NB-IoT(Cat NB-1),以及2G/E-GPRS,将帮助各种创客打开无限想象空间。MDM9206与全新的C-IoT SDK配合, 利用Qualcomm API(QAPI)高级特性,在板载A7上开发应用,能够节省外部MCU的成本、云研发投资,将帮助OEM厂商和开发者以极具成本效益的方式,迅速打造并商用一系列普遍的创新物联网应用。

这里有几个名词,我也替你们查了下:

eMTC(Cat M1):LTE-M,即LTE-Machine-to-Machine,是基于LTE演进的物联网技术,在R12中叫Low-Cost MTC,在R13中被称为LTE enhanced MTC ,即eMTC,旨在基于现有的LTE载波知足物联网设备需求。(http://network.51cto.com/art/201701/527461.htm

NB-IoT(Cat NB-1) :窄带物联网(NB-IoT)也被称为LTE Cat NB1也是一种低功耗广域(LPWA,Low Power Wide Area)技术,它已经开发出来,可使用现有的移动网络将各类设备链接到互联网中。(http://murata.eetrend.com/node/1000615)

2G/E-GPRS:GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可用的一种移动数据业务,属于第二代移动通讯中的数据传输技术。(https://baike.baidu.com/item/gprs/107439?fr=aladdin

关于mdm9206的开发,高通提供了一分比较详细的API(基于ThreadX OS)描述文档,用户能够做相应开发(此处不详细讲解,由于我也还没搞懂)。资料包中有相应的文档和以及BG96模块的开发手册

2、GoKit(4)

GoKit4(G)是机智云推出的第四代开源套件,标配NB-IoT通信模组——移远BG96(基于MDM9206芯片),支持Seeed标准接口传感器, 可适配水侵传感器、二氧化碳传感器、土壤传感器、烟雾传感器等多种传感器,使用方便,即插即用快速校验,可二次开发。支持新增其余传感器,适用于 NB-IoT/eMTC 智能解决方案的快速开发。

实物图:

pcb图:(左:功能板  右:BG96)

原理图:(左:功能板  右:BG96,高清pdf在资料包中有)

从原理图中咱们能够看到:GoKit4的主要功能是电平转换,和提供必要的外设接口。采用了3片TXS0108将BG96的1.8V电平转换为驱动外设所需的VCC,外设包含板载的物联网卡和震动马达,以及三个传感器接口.

3、实操体验

整个实操主要包括,环境搭建、云端配置、源码修改、程序下载、远程操控5个部分

开发环境:

一、交叉编译链:解压移远模组交叉编译工具4.0.3.zip文件至D盘根目录(注意此目录顶级目录是4.0.3)。

其路径也能够可是要修改源码中相应的路径.(第一次不建议乍样操做,熟练后你随便搞)

二、python27(编译源码时用):python-2.7.amd64.msi“傻瓜式”安装;以后将Python27添加到系统环境变量path中

 

三、python36(下载是用):python-3.6.1-amd64.exe“一样很傻瓜式”安装。将Python36添加到系统环境变量path中

四、pyserial-3.4.tar(python串口包):解压pyserial-3.4.tar,在命令行窗口下,跳转到解压后的目录下,运行命令:python setup.py build 模块开始编译,编译后执行命令:python setup.py install

五、QFLO(下载时用到):将QFLOG文件夹移植到D盘根目录下,修改D:\QFLOG\src\QFLOGPackage\env_qflog.bat文件,修改变量QFLOG_PYTHON_PATH的值,改成本身的python36的绝对路径,保存。

六、usb 驱动安装:解压Quectel_BG96_Windows_USB_Driver_V1.0后点击setup.exe安装

云端配置:

按照教程,进入登录机智云后建立一个产品项目,而后针对 项目功能添加数据点,而后保存(我的以为这部分是最易用和方便的,开发体验很好) 。而后再基本信息中查看你的Product Key 和Product Secret。这是用来关联云和终端设备用的;

源码修改:

一、修改资料包中源码,将你的产品终端关联到云端;

二、添加项目功能,此处不详讲。请参考资料包pdf

三、编译源码:双击源码根目录中的llvm_build.bat批处理文件,喝水等会,若是出现红色Error那就恭喜你成功编写了BUG。一切顺利的话,在源码目录target下生成三个文件表示成功,以下图

此处很容易出错,必定要保证交叉编译工具和python2.7的路径正确,能够打开bat文件看到对应的默认路径;

程序下载:

一、将编译后生成的目标文件gagent_app.bin和oem_app_path.ini文件拷贝到D:\QFLOG\src\QFLOGPackage\目录下

二、 打开命令行中断,运行env_qflog.bat配置环境参数(注意很重要)

三、运行命令:python QFLOG.py -p COM43 PUSH -f gagent_app.bin,PUSH目标文件到设备

4.一样将oem_app_path.ini下载到设备中(注意很重要);

远程操控:

终端配置完成后上电,而后在云端我的帐户下查看设备MAC或IMEI,再用机智云串口调试助手生成对应二维码,这是用与手机app对应云端产品的id;这样产品终端、云端、移动端app三者就创建起链接了, 接下来就能够在app中远程控制你的产品了;详细操做见资料包。

 

另:除soc方案外,机智云还提供了mcu方案,支持多种mcu,而且自动生成相应的工程源码,可供开发者二次修开发;

 


我的体验感觉: 

总的来讲,整个开发过程仍是比较友好和易用的,能够快速实现一些IOT创意;可是比较很差的体验有两点:

一、须要安装两个版本的pytho,一个用于源码编译,一个用于下载,配置环境时要对齐加以区分,这点很不友好;

二、程序下载太耗时,实操中只简单的两个共能;一个目标文件下载耗时2分钟左右;若功能再多点,文件再大点须要多久;据现场机智云工做人员说10分钟都很常见。

 

以上仅表明我的看法,若有错误欢迎支持; ---交流一定是有价值---

资料包下连接:https://pan.baidu.com/s/1kpPAa6Z7e7VmVFqTXxtu7A 密码:gfr4