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 ...
随机推荐
- JAVA 多线程(1):synchronized
入坑3年,对线程总是一知半解,最多停留在copy,决定还是仔细看看这方面的东西,一点点的记录让自己理解,对一些重要的概念进行记录和理解(包括参考作者的原话与个人理解) 参考链接:https://www ...
- 学习 Docker 操作系统版本选择
近来有时间一直在捣鼓 Docker.因为服务器选择的是 CentOS 版本,所以实验的环境选择的一直是 CentOS.如果是个人玩 Docker,优先选择 ubuntu.如果需要选择 CentOS 的 ...
- elementUI vue table status的状态列颜色变化和操作列状态显示(停用, 启用)
<div id="app" style="display: none"> ... <el-table-column prop="st ...
- Java 去除字符串中的空白字符
通过String的trim()方法只能去掉字符串两端的空格字符,但是对于\t \n等其它空白字符确不能去掉,因此需通过正则表达式,将其中匹配到的空白字符去掉,代码如下: protected Strin ...
- Mybatis 同时传入多个参数和对象
流程 1,mapper 接口文件使用 @param 注解(一个参数就不用使用注解,多个参数要么使用注解,要么使用数组的方式取值) 2,mapper xml 文件使用 mapper 接口文件传参 pub ...
- 现有项目中集成Flutter
本文列举了项目开发使用Flutter会遇到的问题,以及如何使用Flutter module在现有项目中集成Flutter,并对其原理进行了分析. 最近在做的一个商业项目,完全的使用Flutter编写的 ...
- PostgreSQL date_trunc() 和timestamp
timestamp 01.SELECT now()::timestamp + '1 year'; 02.SELECT now()::timestamp + '1 month'; 03.SELECT n ...
- RMAN-06172 Troubleshooting
今天在RMAN还原测试过程中,遇到了"RMAN-06172: no autobackup found or specified handle is not a valid copy or ...
- MyBatis笔记----@Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class
使用MyBatis 3.4.1或者其以上版本 @Intercepts({ @Signature(type = StatementHandler.class, method = "prepa ...
- C# 反射给对象赋值遇到的问题——类型转换
反射给对象赋值遇到的问题——类型转换 给一个对象属性赋值可以通过PropertyInfo.SetValue()方式进行赋值,但要注意值的类型要与属性保持一致. 创建对象实例的两种方法: 1. 1 ...