- 博客(132)
- 问答 (1)
- 收藏
- 关注
原创 打脸预测,AI泡沫破裂,科技衰退
都说大公司有了个AI程序员,我未曾用过大公司的AI程序员不敢妄下结论,市面上开源的倒是用了一些,先不论生成的代码质量怎么样,中国都做了这么多年的软件,各行各业什么样的软件没有,现在已经不是一个从0到1的市场,而是从100到101的市场,对公司来说使用这些东西不说是否能真提高效率、降低成本,光这个试错成本,都不想去尝试。都说AI是解决自动化最好的方式,到现在我也搞不清楚如何把几个GB的东西,塞到可怜的只有64KB的PLC里,这么高昂的成本研发,在叠加经济下行的背景,投入完全看不到产出。
2024-08-27 16:13:30 458
原创 说说这三年的感受(2021~2023)
这几年给我的感受非常不好,也许是30岁之前的见识短,转眼从23岁入行到现在,10年岁月眨眼而过,人来人往 ,遇到过贵人,也跌入过低谷,徘徘徊徊向前走...
2023-08-10 19:51:44 216
原创 JS实现坐标系转换(wgs84、bd09ll、gcj02)百度、GPS、高德、腾讯地图相互转换
实现坐标系转换(wgs84、bd09ll、gcj02)百度、GPS、高德、腾讯地图相互转换
2022-10-17 11:08:10 8122 3
原创 vb.net 物联网助手exe 软件重构
1. TCP Server 线程监听2. 串口数据监听3. 定时器 1分钟1次 历史记录保存4. 参数超过上限或下限值后,触发执行操作5. 实时日志查看6. 支持 参数配置 和 操作配置 ( 可远程配置后一键下载 )软件界面:软件代码:Imports System.Net.SocketsImports System.NetImports System.TextImports System.ThreadingImports System.IOImpor...
2022-02-16 10:01:11 5163
原创 HbuilderX 竖屏切换横屏后,返回点击其他页面,字体变大样式乱的解决方案
HbuliderX 竖屏切换横屏后,返回点击其他页面,字体变大样式乱的解决方案
2022-01-14 23:03:36 2102
原创 JAVA 线程延迟的几种操作
我们常用的延迟操作,在JS或者python 3中有异步操作,处理这种问题是比较简单,在java中也有几种异步处理操作的方式,这里我们来看一下几种操作第一种,主线程直接延迟 1秒System.out.println("主线程 -> 1");try { Thread.sleep(1000);}catch (Exception e){}System.out.println("主线程 -> 2");//do something这种方式不适用与并发高的操作,当多个并发同时访
2021-09-24 10:06:53 14044
原创 Sketchup 外壳设计之方盒
3D打印机打印出来,效果还是非常棒的,外壳1.5以上的厚度,就会有不错的坚固性,密度相比注塑低,比塑料的柔韧性差,外表的抛光度差。好在价格低,非常不错!
2021-08-30 11:30:01 720
原创 STM32 Cube ADC DMA 多通道扫描实现多个模拟量取值
一。使用 DMA由于常规通道组只有一个数据寄存器,因此,对于多个常规通道的转换,使用 DMA 非常有 帮助。这样可以避免丢失在下一次写入之前还未被读出的 ADC_DR 寄存器中的数据。 在使能 DMA 模式的情况下(ADC_CR2 寄存器中的 DMA 位置 1),每完成常规通道组中的 一个通道转换后,都会生成一个 DMA 请求。这样便可将转换的数据从 ADC_DR 寄存器传输 到用软件选择的目标位置。 看下面这张图说明了,从ADC转换到Chanel的过程!当...
2021-07-18 18:10:21 1531 19
原创 STM32 Cube ADC 测量土壤湿度
一 。说明本来想买个温湿度模块,结果买了个湿度 - _ - !1. 什么是AD转换AD转换是把离散的模拟量转换为数字量的过程,其原理就是使用单片机的高频率和时钟来采样x轴的点样,根据电压的变化使用曲线函数来获取y轴数字值的过程,我们叫做AD转换2.如何确定AD采样的位数,并知道电压值如果单片机的的ADC为12位,那么它的最大值为4095。单片机在进行AD转换前需要先设置一个参考电压。假如把参考电压设置为5V,5V=4095,0V=0;根据这样的关系,我们就可以把模拟电压进行数字化了。比如
2021-07-16 22:43:58 3818 8
原创 STM32 Cube ADC MQ135测量空气质量和氨气PPM
一 。说明1. 什么是AD转换AD转换是把离散的模拟量转换为数字量的过程,其原理就是使用单片机的高频率和时钟来采样点样,根据电压的变化使用拟合曲线来获取数字值的过程,我们叫做AD转换2.如何确定AD采样的位数,并知道电压值如果单片机的的ADC为12位,那么它的最大值为4095。单片机在进行AD转换前需要先设置一个参考电压。假如把参考电压设置为5V,5V=4095,0V=0;根据这样的关系,我们就可以把模拟电压进行数字化了。比如:2V=2/5*4095=1638。3. 什么是A0 和
2021-07-15 23:47:05 7701 11
原创 VB 实现485物联网环境数据采集上位机EXE
1.界面效果2. VB代码' @author qiyulin @date 2021.07.07 VB实现物联网EXE客户端上位机软件Option ExplicitPrivate CONF(100) As StringPrivate showLog As IntegerDim labels(100) As ObjectDim names(100) As StringDim timer_index As Integer Private Sub GetAvaila.
2021-07-07 20:34:00 2495 9
原创 STM32 Cube BMP180 获取温度、气压、海拔
一. 介绍BMP180中内置有E2PROM,所以要获取数据,就要使用I2C读写E2PROM来实现获取数据!BMP180的整个流程:1. 首先要初始化,读取几个E2PROM地址上的值共11个,用于温度和气压的计算2. 读温度:(1)使用:0xEE 写入操作,向地址:0xF4 ,数据:0x2E 。 表示:我要读温度啦 (2) 等待 5ms (3)使用:0xEF 读取操作,从0xF6,0xF7 上读取:温度未转化值3. 读气压...
2021-07-04 02:38:24 2991 14
原创 STM32 Cube I2C 获取BH1750光照值
用AT89C51 要使用单片机的IO口来模拟上升沿和下降沿,没接触Cube HAL库,自己做模拟太麻烦了!现在我们来学习一种更简单的方式,先让我们看如下2段I2C的写入操作!一。介绍1. BH1750我们用STM32 cube 库, 这里ADDR接地!2. E2PROM 24C02我们观察 BH1750写命令和 24C02的数据写入,我们发现在24C02 比 BH1750 少 一个数据 + ACK比较:看上边这2个写入指令,分别是HAL库里的 2个I2C的方法!
2021-06-30 16:03:52 1151 7
原创 STM32 Cube 发送和接收485数据
1.说明发送485数据和串口数据是不同的,刚入行一直以为是相同的只是电平的信号可能不同发送485数据,需要对发送和接收的RE和DE进行使能操作,来决定发送有效,还是接收有效,也就是需要单片机的IO来控制数据的流向!发送串口数据(TTL),直接RX和TX反接线即可这里既然知道了485和串口的区别,那么发送485之前一定要看下电路的原理图是怎么接线的例如:这里PB0 - DE,PB1 - RE , PB10和PB11接的TX和RX2.看原理图那么我们分析下, 当DE和R...
2021-06-21 23:11:40 5693 1
原创 8051/2单片机 DHT11 空气温湿度传感器取值
一、说明对各种信号的处理的经验很重要!DHT11温湿度取值每1次数据传送为40bit,其中8bit的湿度整数,8bit的湿度小数,8bit的温度整数,8bit温度小数和8bit的校验码
2021-06-05 14:20:05 728 2
原创 8051/2单片机常用的本地通讯方式 UART,RS485,I2C,SPI 之 SPI 25AA040A 读写 E2PROM 4
欲速则不达,还是要慢一点,再慢一点~PART3SPI(SCLK,SDO,SDI)全双工*SCLK时钟*SDO(MOSI)数据输出*SDI(MISO)数据输入*8051SPI和I2C一样也是需要用IO模拟*SPI总线传输共有4种类型,*CPOL位,高电平为:1,低电平为:0*CPHA位,边沿,先读后写:0,先写后读:1*传输时候,先传输高位再传输低位**实验程序采用SPI串行总线的EEPROM,25AA040A...
2021-06-03 10:23:48 1111 2
原创 8051/2单片机常用的本地通讯方式 UART,RS485,I2C,SPI 之 I2C E2PROM 3
单片机IO使用E2PROM24C02C规定1.起始信号保持时间Thd:sta>4us2.起始信号的建立时间Tsu:sta>4.7us3.SCL低电平持续时间Tlow>4.7us4.SCL高电平持续时间Thigh>4us5.停止信号的建立时间Tsu:sta>4us...
2021-06-01 12:15:16 479
原创 8051/2单片机常用的本地通讯方式 UART,RS485,I2C,SPI 之 Modbus 485 2
一 ,单片机串口通讯1.串口UART,波特率:9600接设备的时候,一般只接GNDRXTX,不会接Vcc,避免与目标设备上的供电冲突。1.1RS485标准(+2V~+6V:1/-6V~-2V:0)1.2RS232标准(-15V~-3V:1/+3V~+15V:0),需要MAX232进行电平反转后,才能与MCU进行通讯1.3TTL标准(2.4V--5V:1/0V--0.5V:0)————————————————版权声明:本文为CSDN...
2021-06-01 12:12:11 704 2
原创 8051/2单片机常用的本地通讯方式 UART,RS485,I2C,SPI 之 UART串口通讯 1
1.UART串口通讯*1.串口UART,波特率:9600*接设备的时候,一般只接GNDRXTX,不会接Vcc,避免与目标设备上的供电冲突。*1.1RS485标准(+2V~+6V:1/-6V~-2V:0)*1.2RS232标准(-15V~-3V:1/+3V~+15V:0),需要MAX232进行电平反转后,才能与MCU进行通讯*1.3TTL标准(2.4V--5V:1/0V--0.5V:0)...
2021-06-01 12:09:15 660 2
原创 8051/2单片机基础 实现开关,驱动2位的共阳极数码管显示小数,驱动喇叭播放音乐
1.实现开关,开关2次后,LED闪烁4次2.实现驱动共阳极数码关显示3.13.驱动喇叭播放,dao,re,mi,fa,sao,la,xiC代码:/*** 8051 DEMO 2* 1. 实现开关,开关2次后,LED闪烁4次 * 2. 实现驱动共阳极数码关显示 3.1* 3. 驱动喇叭播放 ,dao,re,mi,fa,sao,la,xi* 8051 规定中断号如下* INT0 中断号 0* INT1 中断号 2* T0 中断号 1* T1 ...
2021-05-16 14:05:20 984 2
原创 8051/2 单片机基础 LED闪烁,蜂鸣器,数码管驱动,独立按键,中断,定时中断,串口通信
从软件转硬件路总是很艰难,各种电路知识,3个多月了,现在总算是入门了。AT 8051/21.驱动LED闪烁2.驱动蜂鸣器进行响动3.驱动共阳级,单数码管,0—9 变化(MPX1-CA) - 使用8排阻 + NPN三极管4.驱动共阴级,但数码管,0-9 变化(MPX1-CC) - 使用芯片74HC245 + PNP三极管5.独立按键,控制单片机,并点亮/熄灭LED6.中断,控制点亮/熄灭LED - INT0 , INT17.定时中断,控制点亮/熄灭LED - T0 , T18.串口通信..
2021-05-08 22:50:04 1777 12
原创 汉枫HIS 实现LED屏幕本地传感器采集并显示
HF汉枫 DTU ,HIS脚本大小,大小不超过10K!要处理8个以上的参数值,就会特别吃力,需要不断的优化脚本!还是不建议用HF来实现本地转发,逻辑的处理对DTU的考验还是比较大的!同时里边还有大量的异或运算!以下脚本仅作参考和学习cmd01=[0x03,0x03,0x00,0x00,0x00,0x01,0x85,0xE8]cmd02=[0x04,0x03,0x00,0x00,0x00,0x01,0x84,0x5F]cmd03=[0x05,0x03,0x01,0x05,0x00,0x0..
2021-04-15 17:21:27 574 2
原创 获取一个字符出现的次数
获取 ? 号出现的次数String str = "insert into sys_test (id,name) valeus (?,?)";int count = sql.length() - sql.replaceAll("\\?","").length();
2021-04-08 09:31:55 156
原创 元器件选型
一. 元器件电压电流测量1. 首先要知道每个元器件工作的电压和电流,从而知道电阻,我们需要用到电流,电压表 或者 万用表 对元器件进行测量2.红LED, 电压1~2v, 电流 1mA-30mA ,正常亮度:2V,6mA黄LED, 电压1.8~2.2v, 电流 1mA-30mA ,正常亮度:2V,6mA绿LED, 电压1.9~2.2v, 电流 5mA-50mA ,正常亮度:2V,10mA草帽白LED,电压2.8~3.1v,电流 2mA~38mA,正常亮度,2.8V,26mA蜂鸣器:电压
2021-03-15 11:25:49 2393
原创 Linux 压缩和解压缩
tar压缩文件夹tar -cvf dir.tar dir1解压缩tar -xvf dir.tartar.gz压缩文件夹tar -zcvf file.tar.gz file1解压缩tar -zxvf file.tar.gz
2021-02-20 12:02:36 105
原创 软件基础架构近10年的变化
我印象里记得13年以后,还在捣鼓公司服务器的东西,安装虚拟化环境,那时候按照下边这张图来算的化应该叫On - Premises,时间界定可能不太清除给一下几个时间点2013年以前,On-Premises , 本地部署!2013以后,IaaS/PaaS/FaaS,阿里云崛起,云服务器的到来!以后的发展 Serverless 一定是发展的方向,只专注函数和业务处理,不再考虑吞吐量,带宽,存储等等!框架,编程语言,在PaaS架构之前还是有些作用,当 FaaS / Serverless 大面积普及.
2021-02-20 10:09:36 214 4
原创 我职业生涯的第7年( 2020年 )
2020年是不平凡的一年,这一年平凡的我遇见了可以陪我走过余生的人,我们就是这么自然而然的领证结婚,并没有浪漫求婚,我觉得感动她的是我始终站在她的立场考虑,知道这么多年她的不容易,她也理解我这么多年苦。从事这个行业的第7年,没有太高的起点,来到这个城市从一无所有到有了自己的家庭,用7年的时间,让自己融入这座城市,和本地人有个相同的起点。19年算是软件行业的巅峰时期,在这个行业有所遇见的是未来软件的技术将不会有太大的突破,而且软件的红利也将下滑,始终觉得一项技术的成功在于促进社会的生产力,..
2021-02-03 08:44:22 226 4
原创 深色背景二维码无法识别,二维码无法识别的5大因素
做串口屏幕开的过程中使用的二维码为深色背景,突然发现APP的二维码识别模块无法识别。原来真的不是二维码想多大就多大,想什么颜色就什么颜色!深色背景二维码(除了微信外其他扫码设备无法识别)浅色背景二维码(都可以识别)二维码不起作用的原因主要以下有5个:质量差(图案图像清晰)反转颜色(经典的二维码在白色的背景上加入黑色方块,一定要使用浅色背景和深色前景,交换颜色不是所有的设备都可以识别)小尺寸(二维码的大小= 距离/10 或 2 x 2英寸)对比度差(即使使用对比色,前景也.
2020-10-27 10:07:08 6989
原创 智慧物联APP/小程序设计
一个半桶水的UI设计UI中国 :https://www.ui.cn/detail/556638.html感谢您的支持,如对您有所帮助,请您打赏,谢谢啦~
2020-08-15 11:22:55 643
转载 【单片机基础】入门知识
1.从电路到集成电路1.1 电路 物理课的电学知识,直流电,交流电,当电路,负载,构成一个回路形成电路 基尔霍夫电压定律 基尔霍夫电流定律 欧姆定律 功率,体积,功能 趋势 : 功率越小(越来越省电),体积越小,功能越多,工作电压越低,待机时间长 CPU : 电压1.2v, 1.1v , IO电压为 5V 1.2 微器件的出现 电路的核心:开关控制(用电来控制一个开关开和关,三极管), 倍率控制(2A的电流-> 200mA,电流控制电流源,电流控制电压源) 电子管,晶体管,
2020-08-10 18:19:45 6112 2
原创 农业物理网终端设计(HF DTU + DACAI 7‘ + ZZ IO1600 16Port Do + 北斗)
实现全云端化:屏幕参数控制+ 继电器控制 + 北斗设备定位 的云端农业物理网解决方案1.485通讯协议设计2.设备连接3. 串口和网口通讯监测4. HF DTU脚本实现cmd01=[0xFE,0x01,0x00,0x00,0x00,0x10,0x29,0xC9]cmd02=[0x01,0x03,0x00,0x05,0x00,0x23,0x14,0x12]num=0recvtime=0mac=MACmac01=mac.stringHex()DATA_S=[0xAA
2020-07-24 19:52:25 517
原创 大彩 DACAI lua脚本实现 modbus 485 从机数据采集(支持云端下发脚本控制),含有北斗设备定位
展示内容协议设计一,参数确定协议协议结构:协议内容:1.协议头:AB AB 2.后16位为设备ID:262044017068AAAA3.后2位使用背景(场景ID): 00( OEM ) ,02 (中天) 4.后2位置代表有几个传感器:085.传感器参数6. 尾码 AB AB参数说明:01 01 03 00 第一个2B位:空气温度 第二个2B位 ~ 第三个2B位 :截取位置 从第1个截取到第三个第四个2B位 :是否进行数据放大,01为 0.1倍 02 .
2020-07-23 12:03:36 4318 3
原创 Java Map的深度复制和浅复制
来看一段代码,猜一下运行结果!//给 list 放入 2个map对象 List<Map> list = new ArrayList<Map>(); Map map1 = new HashMap(); map1.put("name","张三"); map1.put("count",2); list.add(map1); Map map2 = new HashMap();
2020-07-03 08:52:27 1570
原创 判断一个点的经纬度是否在规划的区域内(js)
判断一个点的经纬度是否在规划的区域内var isPointInPolygon = function(point,pts){ var N = pts.length; //pts [{lat:xxx,lng:xxx},{lat:xxx,lng:xxx}] var boundOrVertex = true; //如果点位于多边形的顶点或边上,也算做点在多边形内,直接返回true var intersectCount = 0;//cross points count of x .
2020-06-16 11:12:35 5683 3
原创 微信小程序实现获取手机号(修复第一次授权错误问题)
按钮HTML<button type='warn' open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" class="mini-btn" style="background:#0FCB83; margin:0 80upx;">授权登录</button>引入JSvar WXBizDataCrypt = require('../../common/WXBizDataCrypt.js');WXBizD
2020-06-11 14:53:33 3034
原创 互联网的下个10年是属于“云”的时代
互联网的下个10年是属于“云”的时代,作者从以下自己接触过的6个角度简述对云的几个方面的看法。1.云场景(办公,会议,教育,招聘等)2.云开发去框架化 组件化 轻量化 简洁风 按量付费 Nodejs 自动化3.云桌面4.云AI5.数据安全6.物联网1.云场景过去的10年,办公人员是在每天公司办公,在会议室按点举行会议,在课堂教授课程等等的应用场景都会转移到线上,未来的10年将会出现各种信息将会离你更加“近”,让你变的更“懒”,时间更加“松散”。2.云开发..
2020-05-09 14:45:19 291
原创 Linux压缩当前目录下的所有文件
压缩命令tar -cvf test.tar ./*解压命令tar -zxvf test.tar感谢您的支持,写的文章如对您有所帮助,开源不易,请您打赏,谢谢啦~
2020-04-08 18:09:05 4510 2
原创 微信小程序实现蓝牙打印(HBuilderX),搜索蓝牙设备,初始化服务和特征,打印完整demo
感谢您的支持,写的文章如对您有所帮助,开源不易,请您打赏,谢谢啦~
2020-04-01 11:34:45 1824 7
空空如也
为什么我sql语句一执行,mysql就不响应了
2013-09-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人