在完成了前面的工作后,我们就可以实现有针对性的应用了,首先我们来实现Modbus TCP的服务器端应用.当然我们不是做具体的应用,而是对Modbus TCP的服务器端应用进行封装以供有需要时调用. 这里我们不涉及TCP的协议,这部分与Modbus没有必然联系,我们只是在其应用层运行Modbus协议而已. 对于Modbus TCP的服务器我们需要实现几个功能:首先是对接收到客户端命令进行解析,我们只实现前面提到的8中常用的功能吗的支持.其次在解析完成后,我们要实现对应各种功能码的操作.具体架构如下…
C#开发串口总结,并提炼串口辅助类到公用类库中 开发C#相关的项目有很多年了,一直没有接触串口的开发,近期由于工作的需要,需要了解熟悉对硬件串口的开发,通过对串口的深入了解,串口也不再是什么神秘的东西,利用SerailPort组件,对串口的各种操作也非常的方便,由于本人总是喜欢把一些常用的东西封装成可供重复利用的类库,因此,阅百家代码,提炼总结优化,把对串口的操作封装成一个公用的类库,应付日常的串口编程开发,也算是工作的一个阶段性总结吧. 先上图,了解串口的一些基本的东西,并逐步介绍相关的知识.…
LABVIEW是美国国家仪器公司(National Instruments,简称NI)的创新产品,它允许编程人员使用图形方式来进行编程,摒弃了艰涩难懂的代码,只需要拖动相应图形控件然后连线,进行简单的配置即可完成一个应用程序的开发.让更多的相关人员加入到编程的行列中. 虚拟仪器软件架构(VISA,Virtual Instruments Software Architecture)是对包含GPIB.VXI.PXI.串口(RS232/485).以太网.USB和/或IEEE 1394接口的仪器系统进行…
Modbus在串行链路上分为Slave和Master,这一节我们就来开发Slave.对于Modbus RTU从站来说,需要实现的功能其实与Modbus TCP的服务器端是一样的.其操作过程也是一样的.首先接收到主站的访问命令,对该命令报文进行解析,这里我们也只是实现前面提到的8种功能码.其次我们根据解析的结果进行对应的操作,具体的软件访问结构如下: 从上图中不难发现实际是3步: 第1步.接到命令后先解析.解析的方式与前面几节中的类式. 第2步.根据解析结果进行操作.包括更具命令修改或者获取变量的…
[iOS开发]多屏尺的自动适配 AutoLayout (纯代码方式) (2014-09-19 09:35:47) 转载▼ 标签: autolayout ios开发 xcode ui 分类: Xcode/iOS/MacOS 关于AutoLayout,最早从iOS6开始引入使用.   主要功能是使用约束,对视图进行相对布局,以适应不同屏尺的变换.   网上大量的资料都在介绍xib和storyboard,如何使用AutoLayout,说纯代码使用AutoLayout进行UI布局的越来越少.对于我这个习…
灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以工厂车间数据监控大屏为例为大家演示如何在软件提供的模板基础上修改大屏. 首先我们点击我的项目页面上的新建大屏.   然后在模板中心里面选择医院数据实时展示大屏.   选中这个大屏之后,将鼠标移动到大屏上回出现一个提示按钮,提示大家是否立即使用此大屏,点击“立即使用”按钮就可以操作此大屏.   然后我们可以在这个界面上进行操…
1.http rfc大致讲了什么? 2.解决了什么问题? HTTP协议描述的是发送方与接收方的通信协议 协议功能: HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议.它可以使浏览器更加高效,使网络传输减少.它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等.HTTP是客户端浏览器或其他程序与web服务器之间的应用层通信协议.在Internet上的…
昨日内容回顾 网络的基础概念arp协议 :通过ip地址找到mac地址五层模型 : 应用层 传输层 网络层 数据链路层 物理层tcp协议 : 可靠的 面向连接 全双工 三次握手 四次挥手udp协议 : 不可靠的 面向数据包的 高效的socket : 是模块 是和应用层直接交互, 向下封装了,应用层之下的相关协议的一组网络通信的接口 全双工,表示双向连接.为什么四次挥手的2次连接,不可以合并?第一次断开,不会立即断开,如果还有数据,可以发送.所以不可以合并. python代码,属于应用层 socke…
HTTP 是应用层协议,TCP 是传输层协议(位于应用层之下),放在一起类比并不合适.不过猜测楼主是想对比 “标准 HTTP 协议” 还是 “自定义的协议(基于 TCP Socket)” . 一般来说,移动应用推荐使用 HTTP 协议,有很多优点: HTTP 发展成熟HTTP 几乎已经快成为一种通用的 Web 标准,Web Services.REST.Open API.OAuth 等等都是基于 HTTP 协议的.它已经不仅仅是 Hyper Text 的传输标准了,几乎所有数据的传输(多媒体.XM…
原文:PSC推出的第二篇文章-<Python Web开发最难懂的WSGI协议,到底包含哪些内容?>-2017.9.27 我想大部分Python开发者最先接触到的方向是WEB方向(因为总是有开发者希望马上给自己做个博客出来,例如我),既然是WEB,免不了接触到一些WEB框架,例如Django,Flask,Torando等等,在开发过程中,看过一些文档总会介绍生产环境和开发环境服务器的配置问题,服务器又设计web服务器和应用服务器,总而言之,我们碰到最多的,必定是这个词 --- WSGI. 接下来…
一.硬件 如下图所示,485芯片链接到单片机的USART2上,但是默认的USART2并不是在PD5和PD6上,这里是需要重映射的.另外PG4作为485收发的控制(在485协议中,RE.DE同时为高电平那么芯片使能发送,如果同时为低电平那么芯片使能接收) 二.软件设计 1.软件功能 默认485芯片是接收功能,每隔1s发送一个0x88,如果接收到0x55那么返回0x01,如果接收到的数据不是0x55就返回0x00. 2.CubeMX操作 (1)时钟 (2)调试 注意:这里一定要选择上,否则会导致Jl…
一.可能需要的软件:1.虚拟串口vspd(Virtual Serial Port Driver,用来在电脑上虚拟出一对串口,模拟通讯. 2.友善串口调试助手,用来发送.读取数据. 二.思路1.查询本机所有的串口 2.判断需要的串口是否存在本机的串口中 3.设置串口的参数,如波特率.奇偶校验等. 4.打开串口, 5.通过串口读取数据,处理数据 6.关闭当前窗口时,将串口一并关闭. 7.可以写一个定时器,来循环执行1.2两步,并判断串口是否打开,以保持串口通讯正常. 三,代码 1.查询本机所有的串口…
前面开发了各种应用,但是却一直没有提到一个问题,你就是对具体的数据进行读写操作.对于Modbus来说标准的数据有4种:线圈数据(地址:0000x).输入状态量数据(地址:1000x).保持寄存器数据(地址:4000x)和输入寄存器数据(地址:3000x).我们通讯的目的就是为了对这些数据进行操作,可是我们前面的封装中并没有提到数据处理.事实上,也没办法考虑这一点,因为具体的应用数据千差万别,是没办法封装的.那我们怎么解决这一问题呢?接下来我们将解决这一类问题. 1.数据处理函数的封装 我们考虑到…
这一节我们来封装最后一种应用(Modbus RTU Master应用),RTU主站的开发与TCP客户端的开发是一致的.同样的我们也不是做具体的应用,而是实现RTU主站的基本功能.我们将RTU主站的功能封装为函数,以便在开发具体应用时调用. 对于RTU主站我们主要实现的功能有两个:其一是生成访问RTU从站的命令,总共支持8中功能码.其二是对RTU从站端返回的信息进行解析并根据结果进行各种操作,同样也是支持8中功能吗的操作.具体软件访问结构如下: 1.访问命令的生成 客户端作为主动交互端,需要向服务…
这一次我们封装Modbus TCP Client应用.同样的我们也不是做具体的应用,而是实现TCP客户端的基本功能.我们将TCP客户端的功能封装为函数,以便在开发具体应用时调用. 对于TCP客户端我们主要实现的功能有两个:其一是生成访问TCP服务器的命令,总共支持8中功能码.其二是对TCP服务器端返回的信息进行解析并根据结果进行各种操作,同样也是支持8中功能吗的操作.具体软件访问结构如下: 1.访问命令的生成 客户端作为主动交互端,需要向服务器发各种操作请求命令.所以对于TCP客户端来说,首先要…
首先,在工程文件里面, QT += serialport 在头文件里面, #include <QSerialPort> 1.配置打开串口 QSerialPort* myserial = new QSerialPort(): this->myserial->setPortName("COM1");//待打开的串口号 this->myserial->setBaudRate(9600,QSerialPort::AllDirections);//设置波特率:…
作者:彭东林 邮箱:pengdonglin137@163.com 开发板:tiny4412ADK+S700 4GB Flash 主机:Wind7 64位 虚拟机:Vmware+Ubuntu12_04 u-boot:U-Boot 2010.12 Linux内核版本:linux-3.0.31 Android版本:android-4.1.2 在arch/arm/mach-exynos/mach-tiny4412.c中: MACHINE_START(TINY4412, "TINY4412")…
分屏显示即可把一台主机内运行的多个程序分别显示在不同的两个(或多个)屏幕上.目前市面上主流的显卡都支持分屏显示(显示双屏幕),如果需要显示2个以上的屏幕,则应使用“拖机卡”类的硬件. 设置分屏显示的两种方法如下: 1.用两个显卡连接两台显示器,进入系统后,分清楚哪一个是主显卡,在桌面空白处右键单击,点属性,然后在窗口中点“设置”选项卡,会看到有两个显示,分别是1(主显卡)和2(副显卡),点击那个2,在下面的“将windows桌面扩展到该监视器”打上对号,确定后,你试着把鼠标往主显示器右边界移动,…
前几天自己玩开发android应用,做些页面切换效果时,发现两个页面间切换间有白色闪屏的问题. 在网上找了很久的资料,还是没有解决. 最终,发现同事开发的android应用没有这个问题.对比代码排除发现: <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> 如果添加 user-scalable=no,即禁止用户手动缩放,则白屏问题解决…
公司所做的项目,锁屏监听是为了60秒后,解锁瓶后显示[手势解锁]或[指纹验证]: 第一步:AppDelegate.m 头部导入 #import <notify.h> #define NotificationLock CFSTR("com.apple.springboard.lockcomplete") #define NotificationChange CFSTR("com.apple.springboard.lockstate") #define N…
想做个锁屏界面很久了,最近一周,历经千辛万苦,越过种种挫折,终于完美实现了这一要求,在此将锁屏思路分享出来. 注意:这不是什么一键锁屏,是类似“go锁屏”那样的锁屏界面. 准备:本程序共需要 两个activity:home.main. 一个service:myService 一个receiver:bootReceiver 一个layout:layout 其中home作为屏幕home键专用的activity,main则是主要的展示锁屏界面的activity. service用于接收锁屏/解锁广播,…
原文出自:http://www.bcmeng.com/lockscreen/ 之前小梦和大家分享了toast通知,磁铁更新,今天小梦和大家分享windows phone 8.1开发中的锁屏提醒.相比toast通知和磁铁更新,锁屏提醒十分简单.锁屏提醒有俩种:数字提醒和字形提醒,在Windows Phone 8.1中,手机锁屏提醒仅支持“警报”和“注意”状态字形以及数字.向手机发送任何其他字形将清除锁屏提醒.其支持字形如下: 状态 字形 XML 无 未显示锁屏提醒 <badge value="…
0. 前言 作为物联网平台开发,最基础的工具链还是要有的.前几篇博客,介绍了用C#开发一个MQTT的客户端,用于模拟设备连接平台,并发送数据到平台.但是对于一些硬件来说,可能会用到串口uart来发送数据.然后经过模块,转换为JSON再通过MQTT发往平台.这个适合需要开发一些工具来协助开发.平台固然重要,但是对应的工具链也是比较重要的. 1. 创建虚拟串口 要做一个串口工具,为了方便调试,我们需要安装一个虚拟串口软件.模拟两个串口,然后用标准的串口工具来发送数据,自己开发的工具用来接收数据. h…
第三方控件TMS.SPComm的下载与安装 盒子上可搜索关键字进行下载,TMS是.dpk文件,SPComm.pas文件: 安装方法自行百度,不做赘述. 通过TMS控件进行界面布局 界面预览: Delphi通过SPComm连接串口.发送和接收指令 连接串口 拖一个TComm控件到主窗体上,选中控件,单击F11,完成如下配置. 这里主要是将一些布尔类型的属性设置成False,其他属性在前台连接按钮事件下动态设置. 连接代码如下,这里需要特别主意一下: 当串口参数超过COM9(即COM10.COM11…
https://www.ieway.cn/index.html 免费无水印,集视频录制与直播功能于一身的桌面录屏软件,支持录屏涂鸦.实时按键显示.视频体积压缩等实用功能 EVCapture 3.9.7 下载地址: https://dl.softmgr.qq.com/original/multimedia/EVCapture_3.9.7.exe 下载地址 特色: 快捷键: 1. 无需额外设置 2. 鼠标点击 阴影设置一下,设置为“7” 比较合适 3. 完成! 目前最推荐使用 EV 录屏工具,效果比…
基于.Net C# 通信开发-串口调试助手 1.概述 串口调试助手,广泛应用于工控领域的数据监控.数据采集.数据分析等工作,可以帮助串口应用设计.开发.测试人员检查所开发的串口应用软硬件的数据收发状况,提高开发的速度,成为您的串口应用的开发助手.实全串口调试助手是绿色软件,只有一个执行文件,适用于各版本Windows操作系统,基于C# .Net 4.0 框架开发.可以在一台PC上同时启动多个串口调试助手(使用不同的COM口). 典型应用场合:通过串口调试助手与自行开发的串口程序或者串口设备进行通…
背景 之前的项目因为要顾及体量问题,选用了highchart,没用上echarts:这次因为是本地部署电子屏幕的展示页,不需要考虑体量大小,直接用上了echarts:用起来觉得非常不错,特别是地图上非常炫酷的飞机飞行动画,吊炸天了.美中不足的地方是x轴上文字展示部分,想加些个性化的icon不支持,柱状图每条柱想用不同的颜色也不支持,那只能让设计师妥协了,呵呵! 一.地图的实现 注意要先引入地图依赖数据china.js或者异步请求china.json文件,其他代码如下: //地图 $(functi…
最近在学习esp8266 用的sdk开发,烧录碰到个问题,本人使用的esp8266模块是esp8266-12f,模块是4M的也就是32Mbit 参考了网上的很多办法,大部分写的不清楚也没解决,摸索了几个小时,终于找到解决办法 在SDK开发的主目录下有个Makefilm文件 点击打开文件,往下翻可以看到这样几行代码 我分析SPI_SIZE_MAP是配置模块内存的,由于我的sdk是下载的别人的工程,我使用的可能别人的模块内存和我的不一样,我们4M的模块应该把上面的数字3改成4,然后保存编译烧录进模块…
物联网并不仅仅是一种网络,而是一个新的生态环境,它描述的本质是越来越多的使用物品通过网络连接在一起并可使用单个或者多个的终端设备对它们进行各种控制和使用—当然,工业上的物联网通常连接到的石鼓传感器或者其他数据采集仪器以及行为单位.思科曾经预测过,物联网市场的规模可能在14万亿美金左右,前景极为光明. 众所周知,物联网是在传统互联网基础上延伸和扩展而出的概念,用户端从传统的计算机延伸和扩展到了任何物品与物品之间,而物品则通过各种传感器进行信息采集,然后通过计算设备进行网络信息交换与通信.但是当前移…
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本文继续上一篇随笔<从C#到Object C,循序渐进学习苹果开发(2)--Objective-C和C#的差异>,继续对比介绍它们两者之间的差异,以便我们从C#阵营过来的人员加深印象,深入了解Objective-C语言的特性.本篇随笔主要针对Objective-C里面的分类(category)和协议Protocal概念的理解…