IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> openwrt开发--DS18B20的使用 -> 正文阅读

[嵌入式]openwrt开发--DS18B20的使用

昨天弄了个显示屏幕,今天发现开发板上还有一个温度传感器,DS18B20,一不做二不休啊,结合屏幕,按键,做个温度计来试试。
在这里插入图片描述

温度获取

首先就是这个传感器,原理图上看到是用的GPIO26。
在这里插入图片描述
首先想到的是通过GPIO模拟一线协议,把STM8单片机那一套拿过来,跑了一遍,发现读不出来数据……
在这里插入图片描述
又换了网上的另一套代码,无非也就是延迟不同,结果……还是读不出来。
在这里插入图片描述
不死心啊,
这里传授一下我工作多年不加班的奥秘

换个方式!!!!!!

然后就开始研究,有没有现成的一线协议的用法,终于被我发现在在openwrt中,就包含了一线协议及用户定制的一线协议模块。那还等什么,拿来吧!
在这里插入图片描述
模块位置在
Kernel modules —>
W1 support —>
在这里插入图片描述
选中之后编译出来,就能够找到该模块了。
重点讲一下这个模块的用法。网上搜了一圈,也没找到,不过找到了一个i2c总线的模拟方式,结合昨天模拟spi的方式,猜测出来了这个命令的用法,首先来看一下这i2c总线的模拟

insmod i2c-dev
insmod i2c-gpio-custom bus0=0,18,22

18 22就是模拟I2C的两个GPIO

然后看一下spi的模拟

insmod spi-gpio-custom bus0=1,20,19,22,0,10000000

20,19,22就是模拟SPI的GPIO

那么,
我们顺水推舟,
顺藤摸瓜,
顺流而下,
摸索出来了一线协议的方法

insmod w1-gpio-custom bus0=1,26,10000

bus0=1,就是一个编号,后面跟着的就是一线协议用的gpio,最后是传输速率。
我真是太机智了。
在这里插入图片描述
然后就是读取数据,这个一线协议创建出来的设备可以直接读取
使用下面命令读取下面的文件,就可以得到温度结果

root@ZhuoTK:/# cat /sys/devices/w1_bus_master1/28-*/w1_slave 
36 02 ff ff 7f ff ff ff de : crc=de YES
36 02 ff ff 7f ff ff ff de t=35375

其中t就是温度。
我们通过shell命令来截取出来这个字段,并且传化一下为float格式

root@ZhuoTK:/# cat /sys/devices/w1_bus_master1/28-*/w1_slave | grep "t=" | awk -
F 't=' '{printf("%.2f",$2/1000)}'
35.25

帅不帅
在这里插入图片描述

按键控制

开发板接了这个屏幕,就会一直亮起来,我们需要通过按键来控制温度显示程序的启动
openwrt中的按键定义,位于代码的这个文件中,当然是和架构有关的。

build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.4.79/arch/mips/ath79/mach-tl-wr720n-v3.c 

前面定义了按键的GPIO

#define TL_WR720N_GPIO_BTN_RESET	15
#define TL_WR720N_GPIO_BTN_SW1		14
#define TL_WR720N_GPIO_BTN_SW2		16
#define TL_WR720N_GPIO_BTN_SW3		1

后面定义了触发方式
在这里插入图片描述
然后就需要在系统的配置文件中,增加按键的触发脚本
位于/etc/config/system中
在这里插入图片描述
参考BTN_0,增加了BTN_1的功能,就是修改了一下min和max的时间,这个是控制长按和短按的时间,0-3表示短按,5-30,表示长按。handler表示执行脚本。

显示

这一部分结合前面的文章,将温度读取出来,转化为浮点数显示,或者直接以字符串形式显示,均可以

void get_temp_w1(float* data)
{
	char cmddata[64]={0};
	
	cmd_get_result("cat /sys/devices/w1_bus_master1/28-*/w1_slave | grep \"t=\" | awk -F 't=' '{printf(\"%.2f\",$2/1000)}'", cmddata, 64);

	printf("get_temp_w1:%s\n",cmddata);

	*data=(float)atof(cmddata);
}
int main(void)
{	
	unsigned char i,m;
	float t=0;
	GPIO_Init();
	SPI_Init();


	ILI9341_Init();			     //初始化OLED  
	ILI9341_Clear(BLACK);
	BACK_COLOR=BLACK;

	while (1)
	{
		get_temp_w1(&t);	//读取温度值 
		ILI9341_ShowNum1(80,95,t,5,WHITE);
		sleep(10);
	}
}

在这里插入图片描述
其他部分代码可以从前面的文章中回顾一下
openwrt开发–ILI9341屏幕显示开发

结果发现
这个温度不准确,因为它在板子中间,靠近发热的CPU……这特么谁设计的,真是人才
在这里插入图片描述

参考博客
openwrt控制gpio的方法

结束语

昨日听闻公司走掉的同事,通过远程登录的方式,删除了他在服务器中的代码。我觉得这种方式是太不理智了,其实拖欠的工资,直接仲裁就可以了,百分百会给你,何必走这种方式呢?
公司拖欠工资并不会对老板有什么大影响,可这种远程删除数据的方式,真是有点严重啊。

那还是来给大家科普一下吧

我国《中华人民共和国刑法》规定如下:第二百八十六条 【破坏计算机信息系统罪】
违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。
违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。
故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚。
单位犯前三款罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员,依照第一款的规定处罚。

对于个人而言,无非就是三种,增删改功能,增删改数据,传播病毒

虽然定罪标准是是否造成严重后果

这玩意就看领导强调不强调了,非要是说你影响了项目完成,你真是百口莫辩!
即便没有犯罪,也有可能违法,还是三思啊!!

在这里插入图片描述
你还年轻,千万不要走上违法犯罪的道路啊!你是程序员啊,删什么代码啊,你忘了你最擅长什么了吗
在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:55:48  更:2021-12-02 16:56:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:31:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码