【树莓派Zero入门】-第六章:NB-IoT扩展板发送HTTP请求至云服务器接口

接入树莓派使用

 

 上面是NB-IOT模块,下面是树莓派Zero。

按下PWRKER键1秒后,NET开机进入待联网状态。

安装C++环境,下载源码:下载地址

把BCM2835整个文件夹拷贝到树莓派上,比如放到/home/pi/下。

复制TCP源码到HTTP下,编辑*.cpp

编辑完后,输入make编译*.cpp
自动生成main文件
执行 ./main  

 Makefile编译*.cpp

CC=g++
DLIBS=-lbcm2835 -lrt -lpthread
OBJS= *.o ../arduPi.o ../sim7020x.o
main:$(OBJS) 
	$(CC) -Wall -o main $(OBJS)  $(DLIBS) 

%.o:%.c
	$(CC) -c -o $@ $<

clean:
	rm -f *.o main

这时,你会发现你的网络接口被调用成功了!!!

备注:更多HTTP的AT指令:

 

 

软件配置

【引脚初始化】

接入树莓派实物图

模块出厂默认PWR引脚是通过跳线帽跳选到树莓派的P4引脚,为确保SIM7020X NB-IoT HAT接入树莓派后能正常工作,才需要初始化树莓派引脚的电平输出。

参考操作如下:

  • 下载树莓派代码,把SIM7020X整个文件夹复制到/home/pi路径下,
  • 命令行进入到/home/pi/SIM7020X-NB-IoT-HAT-Demo-Code/Raspberry 目录下,执行指令
 chmod 777 sim7020_nbiot_hat_init
  1. 设置开机初始化脚本,运行命令:
 sudo nano /etc/rc.local
  1. 在exit 0前面加入 (如下图所示):
 sh /home/pi/SIM7020X/sim7020_nbiot_hat_init

【串口配置】

由于树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。

  • 执行如下命令进入树莓派配置:
 sudo raspi-config
  1. 选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。
  • 打开/boot/config.txt文件,找到如下配置语句使能串口,如果没有,可添加在文件最后面:
 enable_uart=1
  1. 重启生效。

树莓派minicom调试

 

minicom AT指令测试

将模块插入树莓派中,安装minicom,minicom是linux平台串口调试工具:

 sudo apt-get install minicom
  1. 执行minicom -D /dev/ttyS0 可进入minicom串口调试界面

默认波特率为115200,ttyS0为树莓派3B/3B+的串口,Zero/2B为ttyAMA0

树莓派示例程序演示

 

安装函数库

  1. sudo apt-get python3-pip
  2. sudo pip3 install pyserial
  3. sudo apt-get install p7zip

使用wget工具下载源码到Jetson Nano指定文件夹,复制下面命令

  1. wget http://www.waveshare.net/w/upload/3/3d/SIM7020X-NB-IoT-HAT-Demo-Code.7z

进入刚创建并下载了源码的目录,使用p7zip工具解压到当前目录,并更改读写执行权限

  1. sudo p7zip --uncompress SIM7020X-NB-IoT-HAT-Demo-Code.7z
  2. sudo chmod 777 -R SIM7020X-NB-IoT-HAT-Demo-Code

下载示例程序,把整个文件夹拷贝到树莓派上,比如放到/home/pi/下,并改名为SIM7020X。

【bcm2835安装】

进入SIM7020X下的bcm2835目录,编译安装bcm2835库,执行指令:

 chmod +x configure && ./configure && sudo make check && sudo make install
  1. 如果编译报错 /bin/bash: aclocal-1.13:未找到命令,则输入下面的命令
  2. sudo apt-get install autoconf
    sudo apt-get install make
    sudo apt-get install libtool
    autoreconf -ivf

     

SIM7020X-NB-IoT-HAT-24.png

【编译和运行】

树莓派示例程序结构图参考下图:

SIM7020X-Demo-Code-intro.jpg

下面以编译和运行AT示例程序为例:

  1. cd /home/pi/SIM7020X/examples/AT
  2. sudo make clean && sudo make && sudo ./main
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
树莓派连接NB-IoT可以使用Quectel BG96模块,该模块支持NB-IoT和LTE Cat M1网络,并提供UART和USB接口。以下是连接步骤: 1. 购买Quectel BG96模块并将其连接到树莓派上。 2. 下载并安装模块的驱动程序,可以从Quectel官方网站上下载。 3. 编写一个程序来控制模块。可以使用AT指令来控制模块,AT指令可以通过UART或USB接口发送和接收。以下是一个简单的示例代码: ```c #include <stdio.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <termios.h> #define SERIAL_PORT "/dev/ttyUSB0" int main(void) { int fd; char buf[256]; struct termios tio; // 打开串口 fd = open(SERIAL_PORT, O_RDWR | O_NOCTTY | O_NONBLOCK); if (fd < 0) { perror("open"); return -1; } // 配置串口参数 memset(&tio, 0, sizeof(tio)); tio.c_cflag = B115200 | CS8 | CLOCAL | CREAD; tio.c_iflag = IGNPAR; tio.c_oflag = 0; tio.c_lflag = 0; tio.c_cc[VTIME] = 10; tio.c_cc[VMIN] = 0; tcsetattr(fd, TCSANOW, &tio); // 发送AT指令 write(fd, "AT\r\n", 4); // 等待响应 usleep(100000); memset(buf, 0, sizeof(buf)); read(fd, buf, sizeof(buf)); // 输出响应 printf("%s", buf); // 关闭串口 close(fd); return 0; } ``` 这段代码可以打开串口并发送AT指令到模块,然后等待响应并输出响应。将AT指令替换为相应的NB-IoT指令即可连接到NB-IoT网络。注意,需要将串口参数设置为模块支持的波特率和数据位等参数。 4. 将程序编译并运行即可连接到NB-IoT网络。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小达哥的垃圾桶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值