Control4系统对接arduino
https://www.chowmainsoft.com/arduino

int digitalState[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for (int i = 2; i < 13; i++) {
//pinMode(i, INPUT);
pinMode(i, INPUT_PULLUP);
}
}
void loop() {
// put your main code here, to run repeatedly:
for (int i = 2; i < 13; i++) {
int sensorVal = digitalRead(i);
if (digitalState[i - 1] != sensorVal) {
digitalState[i - 1] = sensorVal;
if (i < 10) {
Serial.println('0' + String(i) + String(sensorVal));
}
else
{
Serial.println(String(i) + String(sensorVal));
}
}
}
}
lua

<devicedata>
<copyright>Copyright 2015 Chowmain. All rights reserved.</copyright>
<creator>Chowmain</creator>
<name>Arduino Nano Contact Input</name>
<model>NanoContact Input</model>
<manufacturer>Arduino</manufacturer>
<driver>DriverWorks</driver>
<control>lua_gen</control>
<version>001</version>
<created>11/02/2015 12:00:00 PM</created>
<modified>11/02/2015 12:00:00 PM</modified>
<front>{Width=700, Height=336}\x158DVPX777-f.bmp</front>
<back>{Width=500, Height=250}\x158dvpx777-b.bmp</back>
<proxy>Driverworks_Arduino_Nano</proxy>
<states/>
<config>
<documentation>
</documentation>
<script>
<![CDATA[
-------------------------------------------------------------------
--Function Name : ReceivedFromSerial
--Parameters : idBinding, strData
--description : Function to give feedback to a light
------------------------------------------------------------------- function ReceivedFromSerial(idBinding, strData)
print("RECEIVED SERIAL DATA: " .. strData)
if(tonumber(string.sub(strData,3,3)) == 0) then --opened
C4:SendToProxy(tonumber(string.sub(strData,1,2)),"OPENED",{}, "NOTIFY")
elseif(tonumber(string.sub(strData,3,3)) == 1) then --close
C4:SendToProxy(tonumber(string.sub(strData,1,2)),"CLOSED",{}, "NOTIFY")
end
end
]]>
</script>
</config>
<connections>
<connection>
<id>1</id>
<facing>6</facing>
<connectionname>Serial RS-232</connectionname>
<type>1</type>
<consumer>True</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>RS_232</classname>
</class>
</classes>
</connection>
<connection>
<id>2</id>
<facing>6</facing>
<connectionname>Digital Input 2</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
<connection>
<id>3</id>
<facing>6</facing>
<connectionname>Digital Input 3</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
<connection>
<id>4</id>
<facing>6</facing>
<connectionname>Digital Input 4</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
<connection>
<id>5</id>
<facing>6</facing>
<connectionname>Digital Input 5</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
<connection>
<id>6</id>
<facing>6</facing>
<connectionname>Digital Input 6</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
<connection>
<id>7</id>
<facing>6</facing>
<connectionname>Digital Input 7</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
<connection>
<id>8</id>
<facing>6</facing>
<connectionname>Digital Input 8</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
<connection>
<id>9</id>
<facing>6</facing>
<connectionname>Digital Input 9</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
<connection>
<id>10</id>
<facing>6</facing>
<connectionname>Digital Input 10</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
<connection>
<id>11</id>
<facing>6</facing>
<connectionname>Digital Input 11</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
<connection>
<id>12</id>
<facing>6</facing>
<connectionname>Digital Input 12</connectionname>
<type>1</type>
<consumer>False</consumer>
<audiosource>False</audiosource>
<videosource>False</videosource>
<linelevel>False</linelevel>
<classes>
<class>
<classname>CONTACT_SENSOR</classname>
</class>
</classes>
</connection>
</connections>
<capabilities>
<serialsettings>9600 8 none 1 none</serialsettings>
</capabilities>
</devicedata>
Control4系统对接arduino的更多相关文章
- 基于IdentityServer的系统对接微信公众号
业务需求 公司有两个业务系统,A和B,AB用户之间属于多对一的关系,数据库里面也就是两张表,A表有个外键指向B.现在需要实现以下几个功能. A用户扫描B的二维码,填写相关的注册信息,注册完成之后自动属 ...
- 系统对接API调用
在与公司外部系统对接时,API接口一般采用REST风格,对外暴露HTTP服务.只需要将入参封装好,并发起HTTP请求即可.具体请求流程如下图所示: 数据格式 API调用参数分为系统参数和业务参数,请求 ...
- 在win7 64位操作系统下 arduino驱动安装问题的解决
主要参考以下两个博客: 操作教程:http://blog.csdn.net/u013926582/article/details/24442583 文件下载:http://www.arduino.cn ...
- Mock Server之与被测系统对接(python+flask)
第一步:获取入参与返回结果 先通过postman.jmeter.自己写脚本之类的方式请求我们的mock server,试着获取入参与对应的返回值,这里我用的是robotframework + Requ ...
- 与第三方系统对接,生成Cloud出入库单据
案例: Cloud的采购订单同步到第三方系统,第三方系统入库后同步生成Cloud采购入库单. 解决方案:调用采购订单的下推API,先生成保存状态的采购入库单(采购入库单中的仓库是必填项,可以在采购订单 ...
- asp.net 不用控件,自动登录(用于和其他系统对接的时候,自动登录系统,用户体验好)
if (System.Web.Security.Membership.ValidateUser("admin", "123456")) { //这句话很重要,他 ...
- Akka(25): Stream:对接外部系统-Integration
在现实应用中akka-stream往往需要集成其它的外部系统形成完整的应用.这些外部系统可能是akka系列系统或者其它类型的系统.所以,akka-stream必须提供一些函数和方法来实现与各种不同类型 ...
- 【Arduino】2017年电子设计大赛B题 滚球控制系统|板球系统
今年电赛我们队伍选择的是B题,滚球控制系统.最后我们得到了省特和国一,也算是了结了我大一时的心愿吧.下面对这次比赛进行一下总结,以后回忆起来的时候也有个念想. 滚球控制系统是一个多变量.非线性控制对象 ...
- 活字格对接RF手持机与ERP系统,帮助RFID快速盘点方案落地
这个玩意有点意思,要不要搞来玩玩? ----------- 射频技术(RF)是Radio Frequency的缩写,较常见的应用有无线射频识别(Radio Frequency Identificati ...
随机推荐
- jQuery根据元素值或元素下标来删除一个数组元素及数组对象方法列表
在前提不知道b在这个数组的下标,删除b这个元素 var arrList = ['a','b','c','d']; arrList.splice(jQuery.inArray('b', ...
- Java并发编程学习:线程安全与锁优化
本文参考<深入理解java虚拟机第二版> 一.什么是线程安全? 这里我借<Java Concurrency In Practice>里面的话:当多个线程访问一个对象,如果不考虑 ...
- BZOJ 2463: [中山市选2009]谁能赢呢?(智商)
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3110 Solved: 2250[Submit][Status][Discuss] Descript ...
- 洛谷P4589 [TJOI2018]智力竞赛(二分答案 二分图匹配)
题意 题目链接 给出一个带权有向图,选出n + 1n+1条链,问能否全部点覆盖,如果不能,问不能覆盖的点权最小值最大是多少 Sol TJOI怎么净出板子题 二分答案之后直接二分图匹配check一下. ...
- docker研究-2
容器和虚拟机都是一种虚拟化技术,两者的主要区别: 虚拟机占用资源多,启动慢,荣誉步骤多:而容器启动快,占用资源少,体积小.Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它 ...
- 什么是CSR以及CSR的作用和生成
什么是CSR以及CSR的作用和生成 来源:https://www.trustasia.com/news-201801-what-is-the-role-and-generation-of-csr-an ...
- Android项目实战(四十七):轮播图效果Viewpager
简易.常用的轮播图效果ViewPager ,老技术了,记一笔留着以后ctrl C + ctrl V 需求如下: 不定张个数的ImagView轮播,右下角显示轮播点图标,每隔固定时间切换下一张,最 ...
- Android项目实战(四十二):启动页优化,去除短暂白屏或黑屏
大家会发现一个空项目,从手机桌面打开app是秒启动.但是对于自己开发的项目,有时会发现打开app的时候,会有短暂的1秒--2秒的白屏或者黑屏,然后才进入到程序界面. 个人理解为我们自己实现的Appli ...
- celery 任务队列 + redis
Celery 是一个“自带电池”的的任务队列.它易于使用,所以你可以无视其所解决问题的复杂程度而轻松入门.它遵照最佳实践设计,所以你的产品可以扩展,或与其他语言集成,并且它自带了在生产环境中运行这样一 ...
- uni-app 父组件引用子组件时怎么调用子组件的方法
1.写一个简单的子组件main/index.vue: <template> <view> </view> </template> <script& ...