stm32f1控制BC26与阿里云通信(二)

前言:这次使用串口助手和USB转TTL,让模块与阿里云直接通信


这一章将进行模块调试,调试完成后就可以进行单片机开发了

  1. 首先准备好三样东西:BC26模组、USB转TTL模组、杜邦线数根
    stm32f1控制BC26与阿里云通信(二)_第1张图片

  1. 将BC26和USB转TTL模组用杜邦线连接起来

stm32f1控制BC26与阿里云通信(二)_第2张图片


  1. 将USB口插入电脑,硬件准备工作就完成了

接下来打开串口助手,验证模块是否正常

  1. 首先打开串口调试助手,波特率设置为115200,8位数据位,1位停止位,无校验位(有的模块似乎不是用115200的波特率进行通信的,如果遇到这种情况,请咨询销售人员)
    stm32f1控制BC26与阿里云通信(二)_第3张图片

  1. 然后选择 “串口号”,串口调试助手会自动查询当前能用的串口,如果使用的串口调试助手无法自动查询,请进入电脑的 “设备管理器” 界面进行查询
    (我现在使用的是COM4,每个人的都不一定一样,以自己的设备为准)

stm32f1控制BC26与阿里云通信(二)_第4张图片


  1. 勾选 “发送新行”,然后单击 “打开串口”
    stm32f1控制BC26与阿里云通信(二)_第5张图片

至此,软件准备工作也完成了


本人使用的是AT指令方式进行连接。透传玩家可能需要找其他教程了hhh。下面就将使用AT指令与阿里云进行通信

  1. 在下方的 “字符串输入框” 中输入 AT,然后点击 “发送”
    如果模块正常,且波特率设置正确,就能看到BC26发送给电脑的 OK
    stm32f1控制BC26与阿里云通信(二)_第6张图片

  1. 输入AT+CIMI,可以看到模块发送了一串数字给电脑,这串数字是模块使用的SIM卡的 IMSI 编号,获取到该编号,说明模块能正确识别到SIM卡
    stm32f1控制BC26与阿里云通信(二)_第7张图片

  1. 输入 AT+CGATT?,查询模块的注网状态,如果返回 +CGATT: 1,则表明注网成功,否则请检查互联网卡是否能用,模块是否正常(忘记截图了,多输了点内容,凑合看看吧 *^_^*
    stm32f1控制BC26与阿里云通信(二)_第8张图片

  1. 输入之前保存的三元组信息,格式为 AT+QMTCFG="ALIAUTH",0,"","","",请将 <> 和 <> 中的内容替换为三元组中的内容

stm32f1控制BC26与阿里云通信(二)_第9张图片


  1. 输入 AT+QMTOPEN=0,"iot-as-mqtt.cn-shanghai.aliyuncs.com",1883 ,打开MQTT的网络,使BC26对接阿里云,返回 +QMTOPEN: 0,0 证明打开成功
    stm32f1控制BC26与阿里云通信(二)_第10张图片

  1. 输入 AT+QMTCONN=0,"device_for_test",让BC26匹配上阿里云的设备,格式是 AT+QMTCONN=0,"",注意替换 <> 和 DeviceName。发送后返回错误,因为我们等待的时间太长了,MQTT网络打开后,必须迅速进行匹配

  2. 重复步骤(5),当返回 +QMTOPEN: 0,0 后立即输入 AT+QMTCONN=0,"device_for_test",可以看到返回 +QMTCONN: 0,0,0,此时说明我们成功了,即设备能和阿里云进行通信了
    stm32f1控制BC26与阿里云通信(二)_第11张图片


  1. 我们打开阿里云,可以看到设备已经处于在线状态了。MQTT属于无离线模式的协议,只要不断电或主动中止连接,设备就会一直在线。点击 “查看”
    ,然后选择 “Topic列表”,最下方的信息我们待会儿会用到
    stm32f1控制BC26与阿里云通信(二)_第12张图片

现在让我们进行信息交换

根据MQTT协议,我们需要让BC26 “订阅” device_for_test的主题才行

  1. 输入 AT+QMTSUB=0,1,"",0,其中 Topic1 就是 “Topic列表” 最下方
    前面的像网址一样的东西,注意不要缺少 /。返回 +QMTSUB: 0,1,0,1 就说明订阅成功了
    stm32f1控制BC26与阿里云通信(二)_第13张图片

  1. 测试一下,点击 “Topic列表” 最右下方的 “发布消息”,然后在弹出的对话框中输入“Hello BC26!”,可以从串口助手中看到我们发送的消息。(因为感叹号是中文格式的,所以是乱码,不要介意这些细节)
    stm32f1控制BC26与阿里云通信(二)_第14张图片

  1. 现在让我们试试上发数据。在阿里云中点击左侧的 “产品”,然后选择 “查看”
    stm32f1控制BC26与阿里云通信(二)_第15张图片

  1. 选择 “功能定义”,然后选择 “添加功能”
    stm32f1控制BC26与阿里云通信(二)_第16张图片

  1. 这里有定义好的功能,拿 “光照度” 为例子,选择这个功能后点击确定
    stm32f1控制BC26与阿里云通信(二)_第17张图片

  1. 完成后可以看到下方多了一行,需要记住红圈的 “标识符”,发送数据的时候要用
    stm32f1控制BC26与阿里云通信(二)_第18张图片

  1. 回到 “设备”,查看 “运行状态”,会发现下面有一个叫 “光照度” 的窗口。因为我们没有发送过数据给 “光照度”,所以它没有数据
    stm32f1控制BC26与阿里云通信(二)_第19张图片

  1. 点击 “Topic列表”,记下第一行像网址一样的东西,然后回到串口调试助手
    stm32f1控制BC26与阿里云通信(二)_第20张图片

  1. 输入 AT+QMTPUB=0,1,1,0,"","{params:{mlux:45}}",其中 topic 就是上面第一行的网址,返回 +QMTPUB: 0,1,0,就算成功了
    stm32f1控制BC26与阿里云通信(二)_第21张图片

  1. 回到 “运行状态”,可以看到 “光照度” 成功变成了我输入的 45
    stm32f1控制BC26与阿里云通信(二)_第22张图片

至此,使用USB转TTL对BC26进行测试就完成了,下一篇文章开始将介绍如何使用STM32F1对BC26进行控制。

你可能感兴趣的:(物联网)