• 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>
    

      

  • 相关阅读:
    项目回顾1-图片上传-form表单还是base64-前端图片压缩
    Rem实现自适应初体验
    开始第一份工作
    JS练习题-Harshad numbers
    JS高程读书笔记-第一、二章-内附在线思维导图和quizlet卡片
    js练习-控制div属性
    每周网页练习—网易邮箱首页
    fullpage.js 结合固定导航栏—实现定位导航栏
    Struts2和Spring的整合
    JSP内置对象
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/9801729.html
Copyright © 2020-2023  润新知