71505浏览
楼主: 驴友花雕

[项目] 【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块

[复制链接]

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 09:52:04

本帖最后由 驴友花雕 于 2021-9-5 10:15 编辑

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1

主要特性
NB-IoT低功耗蜂窝通信,广覆盖、大连接、低功耗
NB-IoT全网通,移动、电信、联通三大运营商全支持
GPS/北斗双星精确定位,设备位置实时监控
Gravity I2C & UART复合标准接口,兼容各类3.3V/5V开发板
板载RGB指示灯,系统状态一目了然

应用场景
太阳能自动气象/环境监控站
车载定位追踪器
自动水电气抄表
智能路灯管理
共享单车

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 10:23:39

各种开发板使用接线示意图

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 10:24:12

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 10:25:16

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 10:26:02

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 10:47:43

本帖最后由 驴友花雕 于 2021-9-5 13:07 编辑

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1

连接NB-IoT天线:要进行NB-IoT通信,需要将PCB天线(标有GSM Band Antenna)连接在开发板正面标有NB的u.FL天线连接座。

注意——PCB天线背后有3M双面胶,撕开保护层后可贴附于非金属表面,在非金属箱体中使用,如:水质监控站或太阳能气象站的塑料防水盒,项目制作常用的亚克力表面。但是不能贴附于金属表面或在金属箱体中使用,否则会严重影响信号质量。

连接GNSS导航定位天线:如果需要使用卫星定位功能,可将GNSS陶瓷有源天线连接在开发板背面标有GNSS的u.FL天线连接座。
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 10:49:20

本帖最后由 驴友花雕 于 2021-9-5 13:13 编辑

NB-IoT物联网专用SIM卡
每个开发板套装包含一张DFRobot定制的中国联通(或中国电信)NB-IoT物联网专用SIM卡,插入开发板内即可使用,无需实名,首次使用流量时自动激活并绑定。

首年免费用,每月30MB流量
即插即用,无需实名或手动激活
三合一SIM卡,无需剪卡器


【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1

插入SIM卡:NB-IoT通信需要SIM卡,将NB-IoT物联网专用SIM卡从大卡里取出,用手掰成micro SIM卡大小并插入开发板背面标有Micro SIM的SIM卡座中,当卡正确插到底后,会听到轻微的咔一声,SIM卡被扣住。SIM卡座具有防反接功能,当插卡方向不正确,卡座将无法插到底,也无法扣住SIM卡。
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 10:49:57

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1

使用注意事项
1、根据国家工业和信息化部等六部门要求,为有效防范和打击通讯信息诈骗,所有NB-IoT物联网专用SIM卡均具有机卡绑定功能,不可取消。
2、SIM卡插入设备,首次上电(与基站)成功通信即视为激活且与通信模组绑定(机卡绑定),开始年度计费周期(360天)。
3、2G/3G/4G手机SIM卡或其它大流量物联网卡无法代替用于NB-IoT设备。
4、物联网SIM卡不能用于手机、平板、2G/3G/4G模组等非NB-IoT设备,否则会导致SIM卡停机。
5、已机卡绑定的SIM卡不能插入其它设备内进行通信,否则会导致SIM卡停机。
6、物联网SIM卡仅能数据传输,无语音通信和短信功能。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 11:06:09

我手头的三种物联卡

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 11:06:38

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 11:07:31

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 13:19:39

本帖最后由 驴友花雕 于 2021-9-5 14:41 编辑

安装DFRobot_BC20库

https://gitee.com/chenqi1233/ext-BC20_NB-IoT/tree/master

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 16:20:09

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
  NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
  项目之一:通过 NB-IoT(移动站)获取本地日期和时间

  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
  4.   NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
  5.   项目之一:通过 NB-IoT(移动站)获取本地日期和时间
  6.   实验接线:
  7.   BC20       UNO
  8.   VIN        5V
  9.   GND        GND
  10.   SCL        A5
  11.   SDA        A4
  12. */
  13. #include "DFRobot_BC20_Gravity.h"
  14. //7种颜色可供选择
  15. #define  RED 0
  16. #define  BLUE 1
  17. #define  GREEN 2
  18. #define  YELLOW 3
  19. #define  PURPLE 4
  20. #define  CYAN 5
  21. #define  WHITE 6
  22. //IIC通讯
  23. #define USE_IIC
  24. //硬件串口通讯
  25. //#define USE_HSERIAL
  26. //软件串口通讯
  27. //#define USE_SSERIAL
  28. DFRobot_BC20_IIC myBC20(0x33);
  29. void getLocalTime() {
  30.   //检查数据是否合法
  31.   myBC20.changeColor(PURPLE);
  32.   while (myBC20.getCLK()) {
  33.     if (sCLK.Year > 2000) {
  34.       break;
  35.     }
  36.     Serial.print(".");
  37.     myBC20.LED_ON();
  38.     delay(500);
  39.     myBC20.LED_OFF();
  40.     delay(500);
  41.   }
  42.   //日期
  43.   Serial.print((String)sCLK.Year + "/" + (String)sCLK.Month + "/" + (String)sCLK.Day + " ");
  44.   //时间
  45.   Serial.println((String)sCLK.Hour + ":" + (String)sCLK.Minute + ":" + (String)sCLK.Second);
  46. }
  47. void setup() {
  48.   Serial.begin(115200);
  49.   myBC20.LED_OFF();
  50.   //初始化BC20
  51.   Serial.print("正在启动BC20,请稍等......");
  52.   myBC20.changeColor(RED);
  53.   while (!myBC20.powerOn()) {
  54.     Serial.print(".");
  55.     myBC20.LED_ON();
  56.     delay(500);
  57.     myBC20.LED_OFF();
  58.     delay(500);
  59.   }
  60.   Serial.println("BC20 启动成功!");
  61.   //检查SIM卡是否插入
  62.   Serial.println("正在检查SIM卡...");
  63.   myBC20.changeColor(GREEN);
  64.   while (!myBC20.checkNBCard()) {
  65.     Serial.println("请插入NB SIM卡!");
  66.     myBC20.LED_ON();
  67.     delay(500);
  68.     myBC20.LED_OFF();
  69.     delay(500);
  70.   }
  71.   Serial.println("SIM卡检查OK!");
  72.   //打印IMEI、ICCID和IMSI
  73.   myBC20.getGSN(IMEI);
  74.   Serial.print("BC20 IMEI: ");
  75.   Serial.println(sGSN.imei);
  76.   Serial.print("SIM card ICCID:");
  77.   Serial.print(myBC20.getQCCID());
  78.   Serial.print("SIM card IMSI: ");
  79.   Serial.println((char *)myBC20.getIMI());
  80.   /*
  81.      模块将自动尝试连接到网络(移动站)。
  82.      检查它是否已连接到网络。
  83.   */
  84.   Serial.println("正在连接网络...");
  85.   myBC20.changeColor(BLUE);
  86.   while (myBC20.getGATT() == 0) {
  87.     Serial.print(".");
  88.     myBC20.LED_ON();
  89.     delay(500);
  90.     myBC20.LED_OFF();
  91.     delay(500);
  92.   }
  93.   Serial.println("网络已连接!");
  94. }
  95. void loop() {
  96.   //获取本地日期和时间并打印
  97.   getLocalTime();
  98.   delay(1000);
  99. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 16:22:50

本帖最后由 驴友花雕 于 2021-9-6 07:35 编辑

实验串口返回情况

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1

程序每隔1s通过串口打印当前地区的日期(年月日)、时间(时分秒)和时区(格林威治时间GMT+XX)。

日期、时间和时区均获取于附近的蜂窝基站,而并非某个网络服务器。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 16:32:22

实验场景图(模块放在窗台上)


【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 16:50:19

安装图形化编程 Mind+

http://mindplus.cc/

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 16:57:50

本帖最后由 驴友花雕 于 2021-9-5 17:09 编辑

打开扩展——选择用户库

搜索:https://gitee.com/chenqi1233/ext-BC20_NB-IoT

然后添加BC20 NB-IoT & GNSS库

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 17:04:09

BC20 NB-IoT & GNSS库相关积木


【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 17:05:58

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
  NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
  项目之二:简易校准日期与时间

实验开源图形编程(Mind+、Mixly、编玩边学)

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 17:08:33

实验串口返回情况

【Arduino】168种传感器系列实验(209)---移远 BC20 NB+GNSS模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-5 17:55:42

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
  NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
  项目之三:NB模块的LED灯闪烁(顺序红-蓝-绿-黄-紫-蓝-白)

  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
  4.   NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
  5.   项目之三:NB模块的LED灯闪烁(顺序红-蓝-绿-黄-紫-蓝-白)
  6.   实验接线:
  7.   BC20       UNO
  8.   VIN        5V
  9.   GND        GND
  10.   SCL        A5
  11.   SDA        A4
  12. */
  13. #include "DFRobot_BC20_Gravity.h"
  14. //7种颜色可供选择
  15. #define  RED 0
  16. #define  BLUE 1
  17. #define  GREEN 2
  18. #define  YELLOW 3
  19. #define  PURPLE 4
  20. #define  CYAN 5
  21. #define  WHITE 6
  22. //IIC通讯
  23. #define USE_IIC
  24. //硬件串口通讯
  25. //#define USE_HSERIAL
  26. //软件串口通讯
  27. //#define USE_SSERIAL
  28. DFRobot_BC20_IIC myBC20(0x33);
  29. void setup() {
  30.   Serial.begin(115200);
  31.   //初始化BC20
  32.   Serial.print("正在启动BC20,请稍等...... ");
  33.   while (!myBC20.powerOn()) {
  34.     delay(1000);
  35.     Serial.print(".");
  36.   }
  37.   Serial.println("BC20 启动成功!");
  38. }
  39. void loop() {
  40.   myBC20.changeColor(RED);    //改变为红色
  41.   //闪烁三次
  42.   for (int i = 0; i < 3; i++) {
  43.     myBC20.LED_ON();          //打开 LED
  44.     delay(100);
  45.     myBC20.LED_OFF();         //关闭 LED
  46.     delay(100);
  47.   }
  48.   myBC20.changeColor(BLUE); //改变为蓝色
  49.   for (int i = 0; i < 3; i++) {
  50.     myBC20.LED_ON();
  51.     delay(100);
  52.     myBC20.LED_OFF();
  53.     delay(100);
  54.   }
  55.   myBC20.changeColor(GREEN); //改变为绿色
  56.   for (int i = 0; i < 3; i++) {
  57.     myBC20.LED_ON();
  58.     delay(100);
  59.     myBC20.LED_OFF();
  60.     delay(100);
  61.   }
  62.   myBC20.changeColor(YELLOW); //改变为黄色
  63.   for (int i = 0; i < 3; i++) {
  64.     myBC20.LED_ON();
  65.     delay(100);
  66.     myBC20.LED_OFF();
  67.     delay(100);
  68.   }
  69.   myBC20.changeColor(PURPLE); //改变为紫色
  70.   for (int i = 0; i < 3; i++) {
  71.     myBC20.LED_ON();
  72.     delay(100);
  73.     myBC20.LED_OFF();
  74.     delay(100);
  75.   }
  76.   myBC20.changeColor(CYAN); //改变为青色
  77.   for (int i = 0; i < 3; i++) {
  78.     myBC20.LED_ON();
  79.     delay(100);
  80.     myBC20.LED_OFF();
  81.     delay(100);
  82.   }
  83.   myBC20.changeColor(WHITE); //改变为白色
  84.   for (int i = 0; i < 3; i++) {
  85.     myBC20.LED_ON();
  86.     delay(100);
  87.     myBC20.LED_OFF();
  88.     delay(100);
  89.   }
  90. }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail