0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

Q4MP_gh_c472c21 来源:cc 2019-01-23 15:58 次阅读

经过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
    +关注

    关注

    134

    文章

    8648

    浏览量

    361747
  • 控制系统
    +关注

    关注

    41

    文章

    5962

    浏览量

    108685

原文标题:基于ARM的智能灯光控制系统经验总结分享

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    智能家居控制系统模型

    ,为主人提供及时有效的环境信息,并按不同的温湿度情况,提醒主人出行时是否需要加衣,带伞等等。3、智能窗帘模块等模块:根据不同的光照条件,控制窗帘的关闭和开启。4、室内灯光控制系统:根据
    发表于 10-28 21:21

    求 基于单片机的智能灯光控制系统的仿真文件

    求 基于单片机的智能灯光控制系统的仿真文件,主要应用是红外检测跟光敏感应来控制灯光!!如果是其他的智能
    发表于 04-22 17:27

    基于ZigBee的智能楼宇灯光控制系统设计

    求大神指导,基于ZigBee的智能楼宇灯光控制系统设计题目的设计思路及方案实现的功能包括:1.雷达控制(实现人来灯亮,人走灯灭)2.亮度调节
    发表于 04-06 17:35

    开发练手,项目实践(智能灯光系统

    本帖最后由 91arm 于 2016-11-19 20:32 编辑 基于ARM智能灯光控制系统(1)项目介绍项目实践说明: 本实践项
    发表于 11-18 17:39

    惊!原来合肥灯光控制系统是这么玩的?

    智能家居灯光控制系统可以完美解决这样一系列问题。利用手机远程操控家里的灯,不用走去按开关。动动手指就可以开、关灯光。晚上下班回来,提前开灯,给你家的温暖。每天上班前打开手机看看哪些灯
    发表于 11-20 15:36

    基于ARM与GPRS的家庭智能控制系统

    随着生活节奏的不断加快,人们希望即使在工作或外出时也能及时了解家中的情况并控制家中的各种设备。各种无线通信技术的不断发展,使家庭智能系统的远程控制成为一种现实。本文结合
    发表于 02-02 07:00

    怎样去设计一种基于ARM智能灯光控制系统

    基于ARM智能灯光控制系统(3)驱动开发系统硬件模块光线传感器光感驱动开发说明继电器驱动开发说明人体红外传感器人体红外驱动说明声音传感器声
    发表于 07-16 06:49

    LabVIEW设计灯光照明控制系统

    `设计一个教室灯光照明控制系统,根据室内实时人数,对灯光进行调节。 系统拟模拟一个室内场景,有12盏LED灯光,分为三排,在进门口和出门口分
    发表于 07-19 09:41

    以STC89C52单片机实现的智能灯光控制系统

    一.硬件方案智能灯光控制系统由单片机最小系统、人体感应模块、关照强度模块、灯光控制模块、电源模块
    发表于 11-10 06:22

    基于AT89S51单片机实现教室灯光智能控制系统的设计

    针对教室灯光控制,分析了教室灯光智能控制的原理和实现方法,提出了基于单片机设计教室灯光
    发表于 09-20 06:06

    CAN总线在停车场灯光智能控制系统中的应用

    本文提出了一种基于CAN总线的分布式停车场灯光智能控制系统的设计方案,介绍了该智能控制系统的软件、硬件设计方法。该
    发表于 08-05 10:53 23次下载

    基于单片机设计教室灯光智能控制系统

    本课题针对教室灯光控制,分析了教室灯光智能控制的原理和实现方法,提出了基于单片机设计教室灯光
    发表于 04-12 15:52 127次下载

    基于机智云的智能灯光控制系统设计

    系统利用ESP8266WIFI模块、机智云物联网开发平台及单片机控制系统设计出一种基于手机APP和WIFI网络的智能灯光调节系统
    的头像 发表于 08-31 09:19 1418次阅读

    智能灯光控制系统怎么布线 智能灯光控制系统的组成

    智能灯光控制系统是一种应用于家庭、办公室、商业建筑等场所的智能化设备,能够实现灯光智能
    的头像 发表于 01-22 11:28 729次阅读

    智能家居灯光控制系统功能特点

    智能照明是可以实现自动控制的先进照明方式,智能家居灯光控制系统是现代家居科技的重要组成部分,通过自动化
    的头像 发表于 04-25 16:21 60次阅读