在本文中,我们将学习如何将SIM800或SIM900与STM32微控制器一起使用,以及如何将JSON格式的HTTP发布请求发送到任何API服务器。

https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lJM1lqRTVNRFJpWm1Nek9HVTBPV0k0WVRObVlUUTRPVEpqTmpjM05HRXhPU0lzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklsZHNTR2hsVEZSUFdXeHpaVmRhUW1ZNU1YQmxJbjA9

介绍

除了Wifi模块或以太网模块,IoT项目也可以通过SIM800 / 900 GSM GPRS模块完成。与Wifi IoT相比,蜂窝物联网的主要优势是随处可见的网络和信号。

我们将SIM800 / 900 GSM GPRS模块与STM32(即STM32F103C8T6)连接,并开发代码以使用API将数据发送到任何网址或网络服务器。 我们需要以JSON格式发送数据,因为直接发送字符串数据看起来很困难。 本文解释了整个过程和最终代码。

零件

API

API是应用程序编程接口(Application Programming Interface)的首字母缩写,它是一种软件中介,允许两个应用程序相互通信。

API的示例:当您在手机上使用应用程序时,该应用程序将连接到Internet并将数据发送到服务器。 然后,服务器检索该数据,对其进行解释,执行必要的操作,然后将其发送回您的手机。 然后,应用程序将解释该数据,并以可读的方式为您提供所需的信息。 这就是API,所有这些都是通过API进行的。

JSON格式

JSON代表JavaScript对象符号。它是用于存储和传输数据的轻量级格式。当数据从服务器发送到网页时,通常使用它。

例如,以下是序列化为XML的简单User对象的示例:

JSON通常与不为数据结构序列化提供本地支持的IoT协议(例如HTTP / Rest,WebSockets,MQTT和SMQ)一起使用。

在JSON中,数据是以特定的方式构造的。 JSON使用{},:”” []之类的符号,并且具有以下语法:

数据以键/值对的形式表示

  1. 冒号(:)为键分配一个值
  2. 键/值对以逗号(,)分隔
  3. 圆括号容纳对象({})
  4. 方括号包含数组([])

硬件设置