【问题标题】:Sending Sensor data to azure iot suite using gprs module with raspberry pi or arduino使用 gprs 模块和 raspberry pi 或 arduino 将传感器数据发送到 azure iot 套件
【发布时间】:2016-06-26 10:45:28
【问题描述】:

我有一个树莓派 2 和 sim900 gsm/gprs 模块。我必须将一些传感器数据发送到 azure iot 套件的远程监控应用程序进行监控。我们无法在现场提供以太网或 wifi。唯一的选择是使用 gsm/gprs 模块。我已经搜索了很多,但找不到任何关于此的材料。 是否有可能使用 arduino 而不是 rpi 来实现这一点。

【问题讨论】:

  • 这可以使用 pi 和 sim900/gprs 完成,使用 pppd 将您的 pi 连接到互联网,然后使用 azure iot sdk 将您的数据发送到 azure iot hub。 github.com/Azure/azure-iot-sdks

标签: azure raspberry-pi2 gsm iot


【解决方案1】:

是的,这可以通过 arduino 和 RPi 实现。如果您使用 SIM900 模块,请确保您拥有最新的固件并且可以使用 SSL。

在这里您可以找到我制作的一个程序,用于使用 SIMCOM 模块(SIM800、SIM900...)通过 HTTPS 将数据发送到我的 Azure IoT 中心:https://developer.mbed.org/users/BorjaTarazona/code/Azure_SIM800_HelloWorld/

要使用您需要的 SIM900 模块通过 HTTPS 将数据上传到您的 IoT 中心:

  1. 用于 SIM900 模块的 APN。 APN 由您的网络提供商提供。
  2. 如下所示的连接 URL:“https://XXXXXXXX.azure-devices.net/devices/XXXXX/messages/events?api-version=2016-02-03
  3. 可以从 Azure 帐户获取的共享访问签名。它应该类似于以下内容:“Authorization: SharedAccessSignature sr=XXXXX.azure-devices.net&sig=rCD5ZWvjblAl20djcEdtuL40vpKmdjvQH7lTphIRtJo%3D&se=XXXXXXXXX”

我使用带有 SIM900 模块的 HTTPS 将数据发送到 Azure 的命令是:

初始化

  1. 设置上下文类型:AT+SAPBR=3,1,"CONTYPE","GPRS"\r\n
  2. 设置 APN:AT+SAPBR=3,1,"APN","YourAPN"\r\n
  3. 打开承载:AT+SAPBR=1,1\r\n
  4. 查询承载:AT+SAPBR=2,1\r\n
  5. 开启HTTP功能:AT+HTTPINIT\r\n
  6. 启用 SSL:AT+HTTPSSSL=1\r\n

数据传输

  1. 设置承载配置文件标识符:AT+HTTPPARA="CID",1\r\n
  2. 设置网址:AT+HTTPPARA="URL","YourURL"\r\n
  3. 设置共享访问签名:AT+HTTPPARA="USERDATA","Authorization: YourSharedAccessSignature"\r\n
  4. 在 HTTP 头中设置 Content-Type 字段:AT+HTTPPARA="CONTENT","application/json"\r\n
  5. 设置要发送的JSON字符串:AT+HTTPDATA=StringLength,20000\r\nYourJSONString
  6. HTTP POST:AT+HTTPACTION=1\r\n

【讨论】:

    【解决方案2】:

    我没有在 windows IoT 兼容列表https://developer.microsoft.com/en-us/windows/iot/win10/supportedinterfaces#Miscellaneous 中看到 SIM900 GPRS 模块,所以我认为它不受官方支持。

    否则,您可以将 Linux 内核/发行版移植到具有即用型 pppd 拨号服务的 rapspberry pi。将设备连接到网络后,使用 windows iot c 客户端 https://github.com/Azure/azure-iot-sdks.git 连接到 Azure IoT Hub。

    【讨论】:

    • 嗨 Jackie,我从来没有使用过 Linux。我是一名 WPF 开发人员。现在我正在考虑使用某些蜂窝提供商提供的一些 3g USB 加密狗。我能否找到这些加密狗的驱动程序,否则我现在必须开始学习 Linux。
    • 你的项目顺利吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    相关资源
    最近更新 更多