Micropython TPYBoard v102 温湿度短信通知器(基于SIM900A模块)

前言

前段时间看了追龙2,感受就是如果你是冲着追龙1来看追龙2的话,劝你还是不要看了,因为追龙2跟追龙1压根没什么联系,给我的感觉就像是看拆弹专家似的,估计追龙2这个名字就是随便蹭蹭追龙1的热度来的。不过里面有一段剧情倒是引起了我的兴趣,就是古天乐一开始拆电话引爆×××那一段。于是引发了我的一些想法,我手上正好有一块SIM900A模块,不如拿来玩玩啊。那我就做一个温湿度短信通知器吧。就是发条指定命令的短信给SIM900A模块,然后TPYBoard v102采集温湿度信息再通过短信的方式反馈回去。

实验目的

1.学习在PC机系统中扩展简单I/O 接口的方法。

2.进一步学习编制数据输出程序的设计方法。

3.学习TPYBoard v102控制SIM900A模块收发短信。

所需元器件

TPYBoard v102板子 1块

数据线 1条

杜邦线 若干

DHT11温湿度模块 1个

SIM900A模块 1个

什么是SIM900A

 
Micropython TPYBoard v102 温湿度短信通知器(基于SIM900A模块)
1、全新、高性价比 SIM900A GSM GPRS 开发板,板载的SIM900A模块为全新原装64M版本,带彩信功能,绝非32M的老版本。
2、SIM900A模块板载SIMCOM公司的工业级双频GSM/GPRS模块:SIM900A,工作频段双频:900/1800Mhz,可以低功耗实现语音、SMS(短信,彩信)、数据和传真信息的传输。
3、SIM900A模块支持RS232串口和LVTTL串口,并带硬件流控制,支持5V~24V的超宽工作范围,使得本模块可以非常方便的与您的产品进行连接,从而给您的产品提供包括语音、短信和GPRS数据传输等功能。
4、此模块供电要求:5V 供电 ,电脑调试初期电脑USB供电可以满足要求。因为我们加了1000UF的大电容。长时间传输数据用电量大推荐1A以上的直流,TTL电平串口自适应兼容3.3V和5V单片机。可以直接连接单片机。待机在80MA左右,可以设置休眠状态在10MA左右低功耗。电脑调试USB--232和USB--TTL均可,根据各人配件而定。支持短信,数据,彩信,上网等。复位排针引出,可实现现场无人值守远程复位,带DTMF功能实现远程遥控功能。
5、模块最大的优点是保留232口,在学习或者开发时可以监听51低端单片机和模块指令执行情况,能更快的找出原因,节省开发和学习的时间。

使用说明

1.SIM900A模块需要单独外部供电,供电电压5V,电流1A。提供的用户手册中说调试初期短时间内电脑USB供电也可以。一开始用TTL模块(CH340)调试,发送AT指令模块无返回,TTL模块是可用的,不知道啥原因,手册说USB转TTL模块最好用CP2012芯片的。有条件的话调试时最好用RS232接口。我这里用板子写了一个串口中间转发的程序才解决掉调试问题的。

2.给SIM900A模块上电前,请将SIM卡正确放入卡槽,接上GSM天线。通电后,可以通过观察D5和D6的工作状态来大致判断模块的工作状态。具体内容详见资料下载中的【12,调试教程 必看资料/全球鹰sim900 V3.8.1用户手册.pdf】。

3.SIM900A模块支持移动、联通2G网络,不支持电信。

4.模块上的5VR和5VT串口兼容3.3V和5V的TTL电平,如果你的单片机的TTL电平电压为3.3V时,可将单片机的TXD连接到模块上的5VR,RXD连接5VT,单片机的GND连接到模块的GND,模块上的VCC_MCU接到直流3.3V上。同理若是5V电平,则VCC_MCU接到5V上。

以上说明在用户手册中都能找到,大家在使用时仔细阅读手册基本上遇到的问题都能解决。

接线方式

TPYBoard v102SIM900A
Y1(UART6-TX)5VR
Y2(UART6-RX)5VT
3V3Vcc_mcu
GNDGND
TPYBoard v102DHT11
VINVCC(+)
Y12DATA(out)
GNDGND (-)

程序调试

1、程序一开始运行会进行一些初始化配置,比如获取信号质量、运营商等;
2、当PuTTY输出等待新短信到来,板载LED2亮起,说明初始化完毕;
Micropython TPYBoard v102 温湿度短信通知器(基于SIM900A模块)
3、手机发送短信给模块上安装的SIM卡号码,内容为tpyboard;
Micropython TPYBoard v102 温湿度短信通知器(基于SIM900A模块)
4、接收到新短信后LED3亮起,读取内容判断是否存在tpyboard;
5、存的话,开始采集DHT11模块的温湿度信息,编辑短信发送出去;
Micropython TPYBoard v102 温湿度短信通知器(基于SIM900A模块)
6、这时LED4亮起,手机就会收到带有温湿度信息的短信了。

Micropython TPYBoard v102 温湿度短信通知器(基于SIM900A模块)

源码&资料下载

github地址:https://github.com/TPYBoard/TPYBoard-v102/tree/master/42.温湿度短信提示器(SIM900A模块

SIM900A模块的相关资料:http://old.tpyboard.com/download/data/202.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于Java实现CAN通信,我可以为您提供一些思路和建议。首先需要了解的是,Java本身并不支持CAN通信,因此需要使用第三方库来实现CAN通信功能。常用的Java CAN通信库有以下几个: 1. jCAN:一个开源的Java CAN通信库,支持Windows和Linux操作系统。 2. can4java:另一个开源的Java CAN通信库,支持Windows和Linux操作系统。 3. SocketCAN:一个基于Socket的CAN通信库,可以在Linux下使用。 您可以根据自己的需求选择其中一个库进行使用。下面简单介绍一下使用jCAN进行CAN通信的步骤: 1. 下载并安装jCAN库,可以从官方网站(https://sourceforge.net/projects/jcan/)下载。 2. 编写Java程序,引入jCAN库,并创建CAN通信对象。 3. 打开CAN通信通道,设置CAN通信参数,如波特率等。 4. 发送CAN数据帧。 5. 接收CAN数据帧。 下面是一个简单的示例代码: ```java import com.sun.jna.Native; import com.sun.jna.Pointer; public class CanTest { public static void main(String[] args) { // 加载动态库 Native.loadLibrary("canlib32", Canlib.class); // 打开CAN通信通道 int channel = 0; int handle = Canlib.canOpenChannel(channel, Canlib.canOPEN_ACCEPT_VIRTUAL); // 设置CAN通信参数 Canlib.canSetBusParams(handle, Canlib.canBITRATE_250K, 0, 0, 0, 0, 0); // 发送CAN数据帧 Canlib.canWrite(handle, 0x123, new byte[] {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08}, 8, 0); // 接收CAN数据帧 Canlib.canReadWait(handle, msg, null); } } // jCAN库的接口定义 interface Canlib extends com.sun.jna.Library { int canOpenChannel(int channel, int flags); int canSetBusParams(int handle, int bitrate, int tseg1, int tseg2, int sjw, int noSamp, int syncmode); int canWrite(int handle, int id, byte[] msg, int dlc, int flags); int canReadWait(int handle, CanMessage msg, Pointer timeout); } ``` 需要注意的是,以上代码仅为示例,具体的CAN通信细节需要根据具体情况进行调整。另外,jCAN库还提供了许多其他的CAN通信相关接口,您可以根据需要进行调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值