zoukankan      html  css  js  c++  java
  • 小程序入门 MQTT物联网协议 publish 和订阅subscribe onenet 阿里云 百度云 基于GPRS模块(SIM800C/SIM900A/SIM868等)和STM32主控芯片

    本文基本公开了如何移植MQTT物联网协议到STM32平台上,并结合GPRS模块(SIM800C/SIM900A/SIM868等)实现publish和订阅topic从onenet,阿里云,百度云等。如果不想移植,可以在如下淘宝链接中直接购买源代码,全部源码+资料300,全部源码+资料包售后500元。

    物联网开发板裸板只要168,套餐可自己搭配。

    淘宝链接:https://item.taobao.com/item.htm?spm=a2126o.11854294.0.0.120c4831Ic87Zt&id=598106907055

    配套物联网开发板链接:https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.29e71debNLqzWg&id=583890254748

    当然,也承接定制开发,价格跟需求难度及开发周期相关,具体可小窗博主或淘宝咨询。

    一、代码适用范围

    1. 设备端:

    • 主控芯片为STM32F103C8T6,但是兼容所有STM32芯片中。
    • 通信模块为sim800c或sim868,代码兼容,868多个GPS 使能代码和获取GPS信息及解析代码。
    • 主控与通信模块连接4个引脚:GPS使能,GPRS使能,及串口3 TXD和RXD。串口3用于通信。

    2. 服务器:

    • 支持onenet
    • 支持aliyun
    • 支持baiduyun

    3. 手机端:

    • 小程序:目前已开发onenet,获取数据流,数据点,topic订阅与发布,控制终端等功能。aliyun,baiduyun待开发。
    • app:用开源标准的mqtt 协议 apk。

    二、MQTT 物联网协议使用

    1. MQTT协议简介:

         MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的,已成为 IoT 通信的标准。

         初识 MQTT  IBM简介的很好:我就不多分享了,有兴趣的可以参考链接:

         https://www.ibm.com/developerworks/cn/iot/iot-mqtt-why-good-for-iot/index.html

    2. 分享一个很好用的mqtt库:Paho

         设备端的mqtt协议移植,就是参考https://github.com/eclipse/paho.mqtt.embedded-c移植而来。

         整体移植过程:

         下载src源码:https://github.com/eclipse/paho.mqtt.embedded-c/tree/master/MQTTPacket/src

          

          添加到keil工程中。

          添加onenet、aliyun、baiduyun等调试接口,以及sim模块,at指令控制部分,调试代码。

          调试过程过于复杂且消耗时间,这里就不详细说明了。

          这里贴一张移植后的目录结构图:

          

          测试aliyun,baiduyun,onenet验证皆OK。

          设备端验证代码publish 稳定,测试三天未掉线。

    3. 以onenet为例:

          设备端连接onenet:只需修改:如下部分即可。分别对应onenet服务器端的设备id,产品id和api-key。

          

    4. 小程序demo

          源程序实现如下功能:

    • 添加设备
    • 二维码识别获取设备id
    • 显示继电器状态
    • 获取设备数据流
    • 发送topic
    • 远程控制继电器

    小程序需要修改部分:

    • appid:修改为自己申请小程序后,生成的appid。

           

    • master-apikey,改为onenet创建产品后生成的master-apikey即可。

            

            然后就可以编译测试。

    三、实现效果

    1. 设备端:

      上电,开机设备初始化,联网,tft屏显示二维码。

    2. 服务器端:

      onenet/aliyun/baiduyun起到数据接收与转发作用。

    3. 手机端:

      打开小程序,显示添加设备页面。

      

      点击添加设备后,会出现二维码扫描页面,扫描设备上的二维码后,即可出现控制页面:

      

      点击按钮即可控制设备端的继电器开关,从而控制led或电机或风扇等的开关。

            如有疑问,欢迎评论或淘宝详聊。

  • 相关阅读:
    在服务器上搭建java环境
    往Android studio中导入类库文件
    Android异步任务AsyncTask
    搭建java环境
    使用安卓实现一个二维码扫描功能(基于Android Studio)
    Android中的runOnUiThread
    网络基础
    Android使用URL访问网络资源
    21天学通VC++
    cometd(转)
  • 原文地址:https://www.cnblogs.com/yelang-lkg/p/11124075.html
Copyright © 2011-2022 走看看