色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于SIM800C和STM32 MQTT協議實現的程序設計

電子設計 ? 作者:工程師飛燕 ? 2018-10-17 08:03 ? 次閱讀

一、本教程中說明的內容

先說說本文化的適用范圍吧:

一、使用的芯片STM32F103C8T6,但是并沒有任何與平臺相關的代碼,應該在所有STM32芯片中都是可以用的。

二、本文使用的是SIM800C模塊,驅動是用C++實現的,基于ARM mbed平臺寫的。但是從原理上來講,C和C++差別不大,本文的代碼經過修改也可以直接用于其他平臺的使用。

三、本文數據傳輸使用的是“透傳模式”,對于所有的透傳模塊,本文都有很大的參考意義。

二、MQTT的使用

首先,推薦一個MQTT的庫:Paho,這個庫支持非常多的平臺,當然也包括了嵌入式平臺:GitHub – paho.mqtt.embedded-c。將該庫中的MQTTPacket文件夾下載下來,MQTTPacket文件夾下面主要有三個文件夾,我們使用的文件主要集中在src文件夾和samples文件夾中。

src文件夾中存放著MQTT核心功能的代碼,而samples中存放著三個例子:pub00sub1、pub0sub1_nc、qos0pub和網絡驅動(transport.c和transport.h)。

由于三個驅動都有一個main函數,所以無法同時存在,本文中只使用了pub0sub,所以將此文件夾內容精減到只有pub0sub1.c、transport.c、transport.h三個文件。

當然,在實現使用時可能會改變目錄結構,使目錄結構更加清楚,可以根據自己的喜好來進行更改,并不影響使用。

將transport.h的內容精減到以下內容:

主要的工作有:

1、為了方便表示,刪除了版權信息,有實際使用時請保留。

2、沒有使用pub0sub1_nc這個例子,所以將transport_getdatanb方法去除。

3、透傳模塊中使用不到socket,所以將與socket相關的參數去掉。

這些方法實現的主要功能是:

1、transport_open的作用是初始化模塊連網的信息、transport_close作用是關閉鏈接。

2、transport_sendPacketBuffer用于發送數據、transport_getdata用于接收數據。

然后用transport.c來實現transport.h中聲明的4個函數。

三、在ARM mbed中使用MQTT

首先說句題外話,自我感覺mbed是一個非常不錯的平臺,很大程度上提高了代碼的可重用性。但也有一個問題,就是其支持是以開發板為單位的,所以并不是對每一種芯片的支持都很好。

首先介紹一個例子,HelloMQTT – a mercurial repository | mbed。但這個例子其中有很多不完善的地方,而且該例子使用的網絡驅動也不是GPRS模塊。

如果要用不同的連網方式,那么就寫一個驅動,驅動中至少要包含以下兩個方法:

這兩個方法會在MQTTClient中自動調用,timeout表示毫秒。返回值為讀或寫的字節數。

對此,我寫了驅動程序:MQTTGRPSEthernet.h


MQTTGRPSEthernet.cpp

主程序

lient的yield函數中用調用messageArrived函數,之前的示例給出的是100,可能是由于間太短的緣故,總是調用不了回調函數,所以我將其改的非常大,便于調試。實際使用時可以使用1000。

四、總結

其實paho embeded-c用起來還是挺方便的,但是代碼的重要性不高,所以移植起來往往會讓人無從下手。但深放研究就會發現其實使用起來是非常簡單的。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2270

    文章

    10904

    瀏覽量

    356338
  • GPRS
    +關注

    關注

    21

    文章

    984

    瀏覽量

    129473
  • MQTT
    +關注

    關注

    5

    文章

    651

    瀏覽量

    22533
  • sim800c
    +關注

    關注

    1

    文章

    7

    瀏覽量

    6878
收藏 人收藏

    評論

    相關推薦

    請教SIM800C+STM32的電路 設置遠程鏈接IP在SIM800C 還是在STM32芯片程序里?

    如題。請教SIM800C+STM32的電路 設置遠程鏈接IP在SIM800C 還是在STM32芯片程序里?有沒有序列號+ip地址單獨設置的情況 ,芯片
    發表于 08-25 15:46

    sim800c總是自動關機

    單片機控制sim800c上網模塊,插上物聯卡和GSM天線,激活開機后,5-8秒之后 sim800c就會關機。測試了電源的電壓是3.74V,關機的時候串口也沒有返回數據。在sim800c開機的狀態下
    發表于 09-26 16:15

    sim800c

    求大神指點sim800c實現物聯網通信的使用方法,看了一部分資料,不是很理解
    發表于 10-20 08:06

    SIM800C的透傳模式的問題

    什么CIPSEND。 不過這一步我已經實現了。 那服務器如何給SIM800C發數據,也要發CIPSEND嗎? 我可以把數據發到網絡調試助手,可是從網絡助手往SIM800C發不知道怎么操作。 點擊發送按鈕,單片機收不到數據。 高手
    發表于 10-24 18:14

    sim800c例程不能實現觸摸效果

    );實現了撥號功能,用的是f1戰艦,但是對于短信的發送卻沒有辦法實現sim800c串口測試一切正常,求解答,多謝。
    發表于 04-11 22:50

    sim800c例程不能實現觸摸效果

    );實現了撥號功能,用的是f1戰艦,但是對于短信的發送卻沒有辦法實現sim800c串口測試一切正常,求解答,多謝。
    發表于 04-23 06:36

    sim800c使用MQTT時數據長度有什么限制?

    sim800c 使用MQTT時,數據長度的限制問題?問題:最近在使用STM32F1+SIM800C實現MQTT的時候,遇到一個問題。就是在發
    發表于 05-22 04:36

    STM8單片機給SIM800C發送AT指令,請問SIM800C串口怎么連接?

    通過STM8單片機給SIM800C發送AT指令,SIM800C串口怎么連接
    發表于 10-22 00:16

    SIM800C硬件手冊

    板載SIM800C,電路圖參考正點原子,出現問題:AT+CGATT=1 總返回err。網絡指示燈總是顯示無網絡連接查閱SIM800C硬件手冊,發現電源引腳如下描述:模塊提供2個VBAT 電源引腳
    發表于 10-29 06:37

    sim800c模塊應用實例分析

    ,可以低功耗實現語音、SMS和數據信息的傳輸。SIM800C尺寸為17.6*15.7*2.3mm,能適用于各種緊湊型產品設計需求。
    發表于 11-22 10:18 ?10.3w次閱讀
    <b class='flag-5'>sim800c</b>模塊應用實例分析

    SIM800C實現溫濕度數據上傳平臺(MQTT協議

    SIM800C_ONENET_MQTT_接入文檔 一、實現的功能:用SIM800C模塊實現DHT11采集的溫濕度數據上傳ONENET平臺(MQTT
    發表于 12-04 14:56 ?48次下載
    <b class='flag-5'>SIM800C</b><b class='flag-5'>實現</b>溫濕度數據上傳平臺(<b class='flag-5'>MQTT</b><b class='flag-5'>協議</b>)

    STM32 + SIM800C 實現MQTT協議資料下載

    電子發燒友網為你提供STM32 + SIM800C 實現MQTT協議資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料
    發表于 04-19 08:53 ?43次下載
    <b class='flag-5'>STM32</b> + <b class='flag-5'>SIM800C</b> <b class='flag-5'>實現</b><b class='flag-5'>MQTT</b><b class='flag-5'>協議</b>資料下載

    SIM800C調試

    板載SIM800C,電路圖參考正點原子,出現問題:AT+CGATT=1 總返回err。網絡指示燈總是顯示無網絡連接查閱SIM800C硬件手冊,發現電源引腳如下描述:模塊提供2個VBAT 電源引腳
    發表于 10-22 14:36 ?13次下載
    <b class='flag-5'>SIM800C</b>調試

    STM32SIM800連接百度物接入MQTT服務器教程

    前言:??本文介紹如何運用STM32F103與SIM800C組成的設備端連接百度物接入的教程,文章中主要以介紹連接方法為主,代碼部分后續考慮發布(一般情況下通過本文的參考即可完成與百度物接入的連接
    發表于 11-23 17:51 ?40次下載
    <b class='flag-5'>STM32</b>與<b class='flag-5'>SIM800</b>連接百度物接入<b class='flag-5'>MQTT</b>服務器教程

    SIM800C開發板用戶手冊

    SIM800C模塊用戶手冊,用實驗例子交你學會使用SIM模塊。
    發表于 04-07 11:31 ?105次下載
    主站蜘蛛池模板: 97在线国内自拍视频| 神马影院在线eecss伦理片| 99re28久久热在线观看| 三级网址在线观看| 老师你下面好紧夹死了| 国产精品久久久久久亚洲毛片| 御姐被吸奶| 无码AV精品久久一区二区免费| 美女pk精子4| 国产最新进精品视频| 差差差差差差差差免费观看| 在线va无卡无码高清| 性色少妇AV蜜臀人妻无码| 皮皮在线精品亚洲| 久久这里只有精品视频9| 国产午夜精品不卡观看| 扒开粉嫩的小缝末成年小美女| 伊人久久大香线蕉电影院| 无码任你躁久久久久久老妇双奶| 暖暖 免费 高清 日本视频5| 久久超碰国产精品最新| 国产亚洲精品久久77777| 成人人观看的免费毛片| 99国内精品| 综合久久伊人| 伊人久久大香线蕉综合网站| 新新电影理论中文字幕| 色欲天天婬色婬香影院| 欧美日韩中文字幕综合图区| 麻豆AV蜜桃AV久久| 久久精品国产亚洲精品2020| 国产自拍视频在线一区| 国产乱对白精彩在线播放 | 男人国产AV天堂WWW麻豆| 久久成人伊人欧洲精品AV| 狠很橹快播| 花蝴蝶高清观看免费| 国内免费视频成人精品| 国产午夜伦鲁鲁| 国产在线观看黄| 国产小视频在线高清播放|