首页 > 其他分享 >51单片机扩展4G模块

51单片机扩展4G模块

时间:2024-03-25 16:01:51浏览次数:22  
标签:-- void cmd 51 单片机 串口 4G

1.1:产品型号

1.1.1:单片机:STC89C51RC

1.1.2:4G模块:塔石的E36V-S

1.2:实现功能

可以在没有WiFi的户外实现远程控制设备的开关等功能。

2.1:所需硬件

单片机、4G模块、双路5V控制220V继电器 、杜邦线若干、水阀(我这里远程控制水阀)

2.2:硬件连线

通过USB用电脑给单片机供电。

4G模块的VCC与GND连单片机的VCC与GND。

4G模块的RXD与TXD连单片机的TXD与RXD(发送连接收、接收连发送)。

单片机的P1.0连继电器的IN1,P1.1连继电器的IN2,继电器的VCC与GND连单片机的VCC与GND。

3.1:需要用到的软件

keil 4(编程)、stc-isp(烧录软件)、网络调试助手、花生壳(做内网穿透)

3.2:keil 4程序

打开keil 4,新建工程等。具体代码如下:

//单片机通过4g模块连接网络 #include "reg52.h" #include <intrins.h> #include <string.h> #define SIZE 12 #define uint unsigned int sbit D1 = P1^0; sbit D2 = P1^1; sfr AUXR = 0X8E; char cmd[12]; void delay(uint z) { uint x,y; for(x = z; x > 0; x--) for(y = 114; y > 0; y--); } void UartInit() //[email protected] { AUXR = 0x01; SCON = 0x50;//配置串口工作方式1,REN使能接收 TMOD &= 0x0F; TMOD |= 0x20;//配置定时器1工作方式为8位自动重装 TL1 = 0xFD; TH1 = 0xFD;//9600波特率初值 TR1 = 1; //启动定时器1 EA = 1;//开启总中断 ES = 1;//开启串口中断 } void sendByte(char data_msg) { SBUF = data_msg; while(!TI); TI = 0; } void sendString(char *str) { while(*str != '\0'){ sendByte(*str); str++; } } void main() { D1 = 0;//关继电器1 D2 = 0;//关继电器2 //配置C51串口通信方式 UartInit(); while(1){ delay(1000); } } void Uart_Handler() interrupt 4 { static int i = 0;//静态变量,只被初始化一次 char tmp; if(RI){//中断处理函数中,对于接收中断的响应 RI = 0;//清除接收中断标志位 tmp = SBUF; if(tmp == ':'){ i = 0; } cmd[i++] = tmp; if(cmd[0] == ':' && cmd[1] == 'o' &cmd[2] == 'p'){ D2 = 0; D1 = 1; sendString("opening\r\n"); i = 0; delay(25000); D1 = 0; D2 = 0; memset(cmd,'\0',SIZE); sendString("opened\r\n"); } if(cmd[0] == ':' && cmd[1] == 'c' &cmd[2] == 'l'){ D1 = 0; D2 = 1; sendString("closing\r\n"); i = 0; delay(25000); D2 = 0; D1 = 0; memset(cmd,'\0',SIZE); sendString("closed\r\n"); } if(i == 12) i = 0; } if(TI); }

设置生成hex文件

编译,无报错

打开stc-isp,搜索串口-->选择对应的hex文件-->下载到单片机中。

选择串口助手-->打开串口-->在发送区发送“:op”-->接收区收到“open”。同时继电器一工作(水阀开)。

图片

到此,程序部分就完成了。

3.3:用电脑模拟服务器发送指令

打开网络调试助手。

本地主机地址从命令提示符中,发送ipcofig获取

打开花生壳,做内网穿透。

再打开一个网络调试助手,连接上面的服务器地址与端口号

然后测试服务器

到此,服务器就搭建好了。

3.4:配置4G模块

3.4.1:打开塔石云平台:塔石物联网

1、选择自动配置平台;进入自动配置平台后有账号直接登录,还未注册过需要先自己注册一下账号然后登录平台。

2、登录进平台后先添加项目;编辑项目,名称自己编辑,项目类型需要选择 dtu 系列;项

目描述自己可以随意编辑。

3、在设备管理,输入IMEI,搜索设备,显示在线。

4、在指令管理,编辑,添加指令,配置服务器地址等信息,保存。

5、然后回到设备管理,点击配置参数,等待大概一分钟,配置完成。

点击配置记录,选择时间段,显示成功。

到此,4G模块配置完成。

标签:--,void,cmd,51,单片机,串口,4G
From: https://blog.csdn.net/weixin_67435657/article/details/137017000

相关文章

  • 0082-基于单片机的双电机调速仿真设计
    功能描述1、采用51/52单片机作为主控芯片;2、采用L298作为电机驱动两台电机;3、通过按键控制两台电机启动、转向调速、停止;4、通过LED指示两台电机运行状态;仿真设计采用Proteus作为仿真设计工具。Proteus是一款著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围......
  • 代码随想录算法训练营第五十七/天 | 516. 最长回文子序列,647. 回文子串
     动态规划最强总结篇!如今动态规划已经讲解了42道经典题目,共50篇文章,是时候做一篇总结了。关于动态规划,在专题第一篇关于动态规划,你该了解这些! (opensnewwindow)就说了动规五部曲,而且强调了五部对解动规题目至关重要!这是Carl做过一百多道动规题目总结出来的经验结晶啊......
  • SQLYOG连接数据库时报错1251
    报错图片报错原因:主要是由于mysql8以前的加密规则与mysql8以后的存在差异,一些版本旧的客户端和服务端版本差别太大!解决办法:1.修改加密规则(注意引号为英文单引号,后面结尾的分号必须带上,@符号和引号之间无空格,下同)ALTERUSER'root'@'localhost'IDENTIFIEDBY'passwor......
  • 【机器学习300问】51、余弦相似度一般用在哪儿?
    一、基础知识扫盲(1)欧式距离        想象你在一个平坦的公园里,看到两个孩子分别在不同的游乐设施上玩耍。你想知道他们之间有多远。直觉的方法就是拉直测量绳,量一下他们直线距离有多远。在数学中,这就是所谓的欧式距离,也就是两点间直线的最短距离。在多维空间中,欧式距......
  • 代码随想录算法训练营Day51 ||leetCode 309.最佳买卖股票时机含冷冻期 || 714.买卖股
    309.最佳买卖股票时机含冷冻期  需要新添加状态classSolution{public:intmaxProfit(vector<int>&prices){intn=prices.size();if(n==0)return0;vector<vector<int>>dp(n,vector<int>(4,0));dp[0][0]......
  • 8. 基于51单片机的感应震动&按键&超声波&蜂鸣器开关盖桶
    项目概述功能描述检测靠近时,垃圾桶自动开盖并伴随滴一声,2秒后关盖发生震动时,垃圾桶自动开盖并伴随滴一声,2秒后关盖按下按键时,垃圾桶自动开盖并伴随滴一声,2秒后关盖硬件说明SG90舵机,超声波模块,震动传感器,蜂鸣器链接:7.PWM开发SG90(手把手教会)链接:6.超声波测距的使......
  • NCV7351D13R2G收发器芯片中文资料规格书PDF数据手册引脚图参数图片价格特性
    产品概述:NCV7351CAN收发器是控制器区域网络(CAN)协议控制器和物理总线之间的接口,可在12V和24V系统中使用。该收发器为总线提供差分发射功能,向CAN控制器提供差分接收功能。NCV7351是CAN高速收发器系列的新增产品,是NCV734xCAN独立收发器和AMIS42665、AMIS306......
  • java数据结构与算法刷题-----LeetCode451. 根据字符出现频率排序
    java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846文章目录1.hash统计出现次数后排序2.桶排序1.hash统计出现次数后排序解题思路:时间复杂度O(......
  • 【发疯毕设日志day7】hagrid_dataset_512数据集作者论文原文逐句翻译——大疆tello手
    论文原文::::2206.08219.pdf(arxiv.org)https://arxiv.org/pdf/2206.08219.pdf摘要     本文介绍了一个庞大的手势识别数据集——海格(HAndGestrueRecognitionImagedataset),以简历一个手势识别(HGR)系统,专注于与设备的交互管理。这就是为什么所选的18个手势都呗赋予......
  • 代码随想录算法训练营第十八天| 513. 找树左下角的值 112. 路径总和 113. 路径总和
    513.找树左下角的值https://leetcode.cn/problems/find-bottom-left-tree-value/description/publicintfindBottomLeftValue(TreeNoderoot){intval=0;Deque<TreeNode>deque=newArrayDeque<>();deque.offer(root);whi......