浅析基于ARM的智能灯光控制系统

发布者:科技律动最新更新时间:2020-08-06 来源: elecfans关键字:ARM  智能灯光  控制系统 手机看文章 扫描二维码
随时随地手机看文章

经过3个月的不断摸索,终于把91arm学堂阶段二的项目实践内容基本上做了出来(视频教程中的代码并不全),在此把相关心得和代码保存下来,供自己和学友们参考


系统硬件:

主控模块:nanopi s2(cortex-A9 四核s5p4418)、5v转3.3v模块、光感、声感、5v继电器、面包板及LED灯、串口转USB调试接口等


无线网络模块:tiny6410(ARM11 三星S3C6410)、红外传感、继电器、面包板及LED灯


先看整体效果,主控程序的为znkg2018,网络端程序为net_light

主控及网络端程序如下:

web浏览器界面如下:

该项目的主要思路:

(1)主控程序znkg2018(交叉编译移植到nanopi s2上)包含四个线程:

线程一:(用于进程间通信)循环查看共享内存、消息队列数据,根据消息队列的消息类型将实时将共享内存数据更新到主数据结构内存,或者将主数据结构内存更新至共享内存;

线程二:(用于检测设备上下线)循环读取5v转3.3v模块连接的开发板gpio口数据,高电平则代表相应的感应设备连接上了系统,可以读取该设备数据线连接的gpio口电平状态了(5v转3.3v模块、感应设备的电源线二合一连接在一起,实现同时插拔,从而通过该线程检测相应感应设备的插拔);

线程三:(用于侦听网络设备的连接)该线程为网络服务端,首先建立TCP数据流(socket~bind~listen~accetp)循环侦听网络客户端的连接请求,收到情求后自己再开辟新的线程用于同该客户端通信,根据客户端数据更新主数据结构中的网络设备状态,根据主数据结构中的网络设备状态向网络设备发送相应的命令。网络通信是基于协议的,便于命令分类和传输校验。

线程四:(用于灯光设备开关控制)本项目共三个小灯,分别为主控端的两个、网络端的一个,开关均由继电器控制,模拟了220v的客厅、书房灯及办公室(远端)的大灯。循环查询主数据结构中的灯光设备的开关状态,向对应的继电器发送写数据命令从而控制灯光开关。若感应设备绑定了灯光设备,则读取感应设备gpio口数据,并将该数据写入继电器gpio口中。网络设备则只更新网络命令状态值,由进程三发送出去,再由网络端程序处理并控制其继电器gpio,从而控制相应的灯光开关。

(2)网络客户端程序net_light(交叉编译移植到tiny 6410上)就一个主程序:

该程序通过ip和端口号连接nanopi上的主控程序的网络线程,根据主控程序传来的网络命令更新相应的设备状态。

(3)nanopi上的boa服务器运行的cgi程序:

在nanopi上安装了boa服务器后,就可以通过浏览器来访问nanopi中的cgi程序了,在boa的www文件夹中放上index.html文件,其为欢迎界面,其中的选项分别连接了不同的cgi程序,这些程序都打开了主控程序管理的共享内存和消息队列,通过修改表单并提取表单中的数据,更新共享内存数据,并通过消息队列通知主控设备更新共享内存或将共享内存中的数据更新到主数据结构内存。主数据结构内存修改后,则主控设备的四个线程会做出相应的动作的。

编辑器采用推荐的source insight,可以自动推导出变量、函数的声明及相互间的引用,方便编写及分析程序(但我采用的软件其编码格式为Ascill,不是utf-8,在编译时为乱码,用notepad++转换编码格式就OK了)

关键字:ARM  智能灯光  控制系统 引用地址:浅析基于ARM的智能灯光控制系统

上一篇:史上最全ARM指令集详解
下一篇:解答ARM嵌入式初学者常见疑问

推荐阅读最新更新时间:2024-11-05 13:28

Intel遭苹果ARM夹击 PC生态接近饱和
    北京时间4月17日上午消息,美国太平洋寰冠证券分析师周一发布报告,对以英特尔为首的x86架构与ARM架构之间的竞争进行了深入分析,认为英特尔将遭受ARM和苹果的两面夹击。   报告称,三星(微博)是最有可能放弃英特尔芯片,在笔记本中采用ARM架构芯片的企业。三星2011年的笔记本出货量为1310万台,高于苹果的1290万台。如果三星采用ARM架构,便会推动ARM的年每股收益增长0.03美元。太平洋寰冠证券分析师还认为,三星的笔记本市场份额今后还会继续提升。   报告认为,英特尔的问题在于生态系统高度饱和。太平洋寰冠证券分析师说:“投入到PC生态系统的时间基本停滞,甚至开始下滑,而移动生态系统却处于增长之中。”因此,英特尔的强
[手机便携]
基于ARM9和Linux的嵌入式打印终端系统
1 嵌入式打印终端系统 的设计原理 图1 打印终端原理图 嵌入式打印终端原理连接图如图1所示。主要由开发板、主机、打印机和扫描仪四部分组成。主机是一台PC机。开发板采用的是三星公司S3C2410开发板,ARM9的核,跑的是2.4内核版本的嵌入式Linux操作系统。扫描仪为超市等用的手持扫描仪。再加一台微型打印机接在开发板的GPIO口上。 工作流程为:开发板将扫描仪的数据从串口读出,然后通过网口将数据发送给主机进行检索处理。开发板等待直至接收到主机处理完毕的数据后转发给打印机,将信息打印出来。 2 嵌入式打印终端系统的硬件设计 2.1硬件开发平台S3C2410结构 三星公司的S
[单片机]
基于<font color='red'>ARM</font>9和Linux的嵌入式打印终端系统
一种基于ARM920T的现场总线控制系统
   1、引言   随着工业控制系统逐步的自动化,现代化,现场总线控制系统得到越来越多的重视和应用,CAN总线是目前开发简单,性能价格比高的一种现场总线 。相对其他现场总线而言,CAN通信控制器的生产厂家最多、品种最全、应用也最为广泛。基于现场总线控制系统智能化、复杂度的提高,作为现场总线的核心部件微处理器,传统的51芯片,甚至ARM7已经逐渐不能满足需要,ARM9成为合适的选择。但许多ARM9并没有集成CAN接口,扩展CAN接口成为当务之急。且ARM9将数据地址总线分开,而CAN控制器为数据地址总线复用,使得CAN的扩展不能一味照搬51处理器的方式。在CAN模块驱动开发上,现有资料往往只针对Linux系统上的驱动开发 进行介绍
[单片机]
一种基于<font color='red'>ARM</font>920T的现场总线<font color='red'>控制系统</font>
AMD艰难转型为使用ARM技术铺平道路
    日前AMD公司放弃了它对x86构架的开发承诺,宣布了一项新的设计战略,要在未来的AMD芯片中为ARM技术的使用铺平道路。     AMD称公司将允许在未来的处理器中集成第三方公司的智慧,作为为消费者量身定做芯片计划的一部分。如果消费者需要包括x86在内的其他架构,AMD将把自己的设计理念与第三方公司结合来满足消费者的需求。     新的AMD产品将紧密迎合消费者的需求。虽然声明中没有直接指出将使用ARM技术,但公司对于使用其他指令集架构呈开放态度,包括ARM,MIPS和PowerPC。     这项新策略主要是基于计算产业所发生的一些变化。平板电脑和智能手机已经广泛使用,但AMD和英特尔公司出品的x86芯片还没有在这些设备
[手机便携]
嵌入式机器视觉系统中ARM与DSP的数据通信方法
DSP对数字信号和数值算法具有强大的运算处理能力,因而在信号采集与处理中被广泛应用,但其在任务管理、实时控制、人机交互等方面不占优势。而ARM微控制器则控制功能强大,可以加载嵌入式操作系统,且能够提供良好的人机交互、任务管理、网络通信等方面功能。因此,发挥DSP和ARM处理器各自的优势,采用ARM+DSP结构的设计方案已成为嵌入式系统的研究热点,倍受关注。通过嵌入式机器视觉系统的设计实例,阐述ARM与DSP有机结合的设计思想,重点研究ARM与DSP之间的数据通信。 1 嵌入式机器视觉系统总体方案 采用ARM+DSP结构的机器视觉系统总体结构如图l所示。以三星公司高性能ARM处理器S3C2440作为主控制器,配置并移植Linu
[单片机]
嵌入式机器视觉系统中<font color='red'>ARM</font>与DSP的数据通信方法
可授权华为!Arm确认:Armv9架构不受美国出口管理条例约束
集微网消息,当地时间周二,Arm推出新一代指令集架构Armv9,以越来越强大的安全性和人工智能能力,应对无处不在的专业处理需求,这是Arm十年来最大的技术革新,上一代的Armv8发布于2011年10月。Arm表示,Armv9架构将在安全性和人工智能方面与英特尔相抗衡。 据第一财经报道,在Arm的VisionDay中,Arm负责人对目前与华为的合作进展进行了回应:Arm既有源于美国的IP,也有非源于美国的IP。经过全面的审查,Arm确定其Armv9架构不受美国出口管理条例(EAR)的约束。Arm已将此通知美国政府相关部门,我们将继续遵守美国商务部针对华为及其附属公司海思的指导方针。
[手机便携]
英特尔与高通恩怨难解 ARM服务器处理器恐激化战局
  正当 英特尔 (Intel)企图在人工智能(AI)领域追赶NVIDIA的同时,高效运算(high-performance computing;HPC)市场的竞争也同时激化起来。超微(AMD)已经推出了Epyc服务器处理器,而IBM业已发表旗下Power 9处理器,至于Cavium先前也已释出了Thunder X2 ARM处理器。下面就随嵌入式小编一起来了解一下相关内容吧。   上述这3大业者含括了x86阵营以及ARM阵营的服务器处理器供应商,事实上,包括超微、IBM以及Cavium等这3家业者已经在服务器处理器市场耕耘日久,却依然在 英特尔 的市场影响力冲击下,还未能取得明显的市占率挺进,不过,尽管 高通 (Qualcomm
[嵌入式]
PROFIBUS-DP在斗轮堆取料机电气控制系统中的应用
1 前言   斗轮堆取料机是大型散装物料装卸机械,其电气控制设备主要集中在司机室、上部电气室、下部电气室以及高压电气室内。传统配置方式是将自动控制柜设在司机室内,通过多芯控制电缆将控制信号送到设在上部电气室及下部电气室内的电气控制柜中。控制线路复杂,安装接线量大,维修困难。用SIMATIC S7-300可编程控制器,采用PROFIBUS-DP(分布式I/O)控制机上的各执行机构。控制网络简单,系统优化,完全满足机上的各执行机构的控制要求。 2 系统硬件配置   根据斗轮堆取料机电气控制系统的特点,选用SIMATIC S7-300可编程控制器CPU315-2DP新型为主站,设在上部电气室,从站设在下部电气室。从站选用IM153-1通
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved