tag 标签: 教程

相关博文
  • 热度 4
    2013-7-10 20:14
    2418 次阅读|
    3 个评论
    Verilog  新手上路教程,给出了常用的数字电路积木块的参考代码。 出于作者本人对排版格式的特殊癖好,请下载附件的PDF
  • 热度 1
    2013-3-27 09:08
    941 次阅读|
    0 个评论
    1 说明 案例说明:使用Arduino+W5100来实现将几类传感器的测量数据发布到乐联网上进行远程实时查看,查看方式包括在乐联网网页上查看和手机APP查看。 APP:乐联网乐联网 APP open.lewei50.com/home/sitecontent/ydkhd 系统平台:乐联网开放平台    2 反向控制硬件连线   3 Arduino模板程序获得与修改 3.1 获得arduino 代码 乐联网的相关Arduino代码托管在Github上,地址 https://github.com/lewei50/leweiclient , 打开链接,点击Zip下载按钮,将名称为master.zip的文件下载到本地。   下载后解压,打开你电脑里的Arduino IDE所在文件夹里的libraries文件夹,在里面新建一个leweiclient的文件夹,将master压缩包解压缩后LeweiClient-master文件夹里的文件全部拷贝到这个文件夹里。   3.2 修改usrkey 运行Arduino.exe,在顶部菜单File—Examples—Leweiclient里面能看到control和upload,打开upload即是数据上传的Arduino编程代码。 在执行代码前,首先需要到乐联网( http://www.lewei50.com/ )上注册用户名和密码,在主页右上角有注册按钮,点击后填写账号、密码和邮箱以后,再登录到邮箱里面激活账号即可。登录进入系统后,通过点击左边管理菜单下“我的账号”—“设置个人信息”里面可以看到你的userkey,这个userkey是每个用户唯一的。 如下图,这是第一处需要修改的地方,首先将程序里面的define LW_USERKEY后面的数值改成你实际个人账号的userkey。   其它的变量基本不需要修改,解释如下: LW_GATEWAY:乐联网的配置的网关标识; MY_NAME:网关名称; MY_NAME:网关介绍; my_addr :被控制的Arduino UNO板可以采取由无线路由器DHCP自动分配IP地址的方式来获取IP,也可以采用手动输入的静态的IP地址,如果采用静态IP地址,则这里输入http://静态IP地址/api,如图中,则表示静态的IP地址为192.168.1.221。 port:给Arduino UNO这个网络终端分配的控制端口号(跨网络控制时候有意义,数据上传编程此变量无意义); 3.3 定义不同的传感器   Leweiclient里已经将几种传感器的代码进行了封装,目前已有的包括:   Ø 模拟量输出的传感器,包括Dfrobot的 Uvsensor 和 moisture sensor   Ø DHT 类别的温湿度传感器   Ø 颗粒物传感器(PM1sensor)   Ø 光照传感器(BH1721 BH1750)   对于每种传感器,你都可以在给一个缩写,例如上面程度中用“UV”表示UV紫外线传感器,这是第二个根据你自己想定义的传感器缩写来进行修改的地方,注意这些传感器需要登录到乐联网物联网应用平台进行创建,创建的传感器的缩写必须和程序里面的缩写保持一致。后面我们会介绍如何在乐联网平台添加设备。 3.4 设置Arduino的网络参数 这里是第三处需要根据你实际的应用场景来进行修改的地方。   这段程序中上面的代码中,如果是“if 0”,则表示不采用静态IP地址的方式,如果是“if 1”,则表示采用静态IP地址,则继续执行下面代码,解释如下:   IPAddress myip:这里需要输入手动配置给Arduino UNO板的IP地址,与前面的my_addr 里的IP地址要保持一致;   IPAddress dnsip:这里需要输入与W5100相连接的路由器的DNS的IP地址,查询方法,登录进入路由器配置界面,查看WAN口状态(不同厂商的路由器查询方法不一致,但都能看到WAN口状态)里面的DNS服务器选项。   IPAddress dnsip:这里需要输入与W5100相连接的路由器的IP地址; IPAddress gateway:这里需要输入与W5100相连接的路由器的DNS的IP地址 3.5 注册传感器 如下图的代码是注册你需要上传数据的传感器,可以根据你实际的应用来进行修改,将需要上传数据的传感器注册一下,把其它传感器的注册代码语句注释掉就可以了。这里是第四处需要你根据实际的应用场景来修改的地方。 这里设置完成以后,便可以运行该程序,运行成功以后。便需要在乐联网的物联网平台管理平台上增添你的测量设备。 4 乐联网上的配置 4.1 网关信息查看 登录进入乐联网管理平台,乐联网采用三级的物联网架构,即“云端服务器”—“网关”—“设备”,“云端服务器”即乐联网的后台服务器,“网关”是桥接测量设备或控制设备和互联网的设备,在本应用指的是Arduino+W5100,设备即前端的测量设备或控制设备,本应用都是测量设备即各类传感器。 登录进入乐联网,进入左边管理菜单下“我的物联网”—“我的网关”里面可以看到你的网关列表,系统默认为每个用户添加一个网关。 4.2 添加测量设备 下一步需要在新创建的网关上建立你的测量设备,进入左边管理菜单下“我的物联网”—“添加设备”,点击右边“添加测量设备”页签,如下图,填写相关信息后,点击保存就可以了。 相关参数解释如下: 缩写:测量设备的缩写,必须与程序里面定义的一致;(根据前面的程序,分别需要建立的缩写是PM1, UV ,BH, TEMP, HM 几个设备) 类型:可以在下拉菜单选择不同的测量设备类型,区别是不同类型的数值单位不一样,如温度是︒C,浓度是%等等; 单位:与类型相关联,如果“类型”中选择“其他类型”,则需要这里手动输入单位; 选择网关:从下列菜单选择该测量设备连接的网关,本应用只有一个网关,直接选择; 名称:测量设备名称; 数值转换:可以校准你的设备,最终的保存数值=上传数值*系数+偏移,如果你的测量设备没有系数和偏移值,则可以留空,主要应用于仪器仪表类测量设备; 照片:可以上传你测量设备的照片,公开后在乐联网公开设备地图可以看到; 是否公开:是否公开你的测量设备,只有当网关和网关连接的测量设备同时公开,你才可以看到测量设备的信息和数据; 正常值范围:设置数据的正常值范围; 超过范围告警:勾选,则测量数值不在正常值范围会自动短信告警,详见第五节; 发送频率:当前设备的最小保存时间,发送频率仅作为判断测量设备在线的衡量标准,如果服务器在发送频率设置的时间内没有收到数据,则显示该设备不在线; 备注:测量的设备的备注信息; 发送超时报警:设备超时(超过发送频率设置的时间)不发送数据有短信告警; 自动发微博:可以绑定新浪微博,乐联网的资深玩家会开通根据测量值的不同自动推送不同的微博内容的应用; 这里有你使用几个传感器,这里就需要配置几个设备,设备配置完成后,便可以点击“我的物联网”—“实时数据”可以查看你传感器的测量数据或者使用手机APP来查看各项数据。     结束语   以上介绍了乐联网的反向控制Arduino的一个应用,希望能够让大家对乐联网的物联网应用有更进一步的了解,并能借鉴这个应用启发您的思路,一起在乐联网上实现自己的各类创意。后续,我们会推出通过数值的变化来控制设备实现不同的变化的更为复杂的控制方案,尽请期待!   (注:转自乐为物联官网:http://www.lewei50.com/home/news/94)   感谢关注! 更多WIZnet信息请登录:WIZnet官方主页:       http://www.iwiznet.cn/                                           WIZnet企业官方微博:http://e.weibo.com/wiznet2012
  • 热度 2
    2013-3-14 15:42
    858 次阅读|
    0 个评论
       近几日在“极客工坊”上看到这个教程,来自乐为物联。一步一步教你怎么利用arduino+w5100+乐联网开放平台,轻松实现手机app对 arduino 设备的控制。分享给大家。 1 说明 案例说明:使用Arduino+W5100来实现一个乐联网的应用,即通过乐联网手机App控制连接到Arduino+W5100上的LED的开关。 硬件:Arduino UNO W5100 shield APP:乐联网 APP open.lewei50.com/home/sitecontent/ydkhd 系统平台:乐联网开放平台 2 反向控制硬件连线 硬件连线如下图,将LED灯的两个引脚线连接到Arduino转接板上的端口6和7上面(端口是根据Arduino程序里面自己选择定义的,如果选择其它端口,则硬件连线必须一致连接到相同端口上)。 3 Arduino模板程序获得与修改 3.1 获得arduino 代码 乐联网的相关Arduino代码托管在Github上,地址https://github.com/lewei50/leweiclient, 打开链接,点击Zip下载按钮,将名称为master.zip的文件下载到本地。 下载后解压,打开你电脑里的Arduino IDE所在文件夹里的libraries文件夹,在里面新建一个leweiclient的文件夹,将master压缩包解压缩后LeweiClient-master文件夹里的文件全部拷贝到这个文件夹里。 3.2 修改usrkey 运行Arduino.exe,在顶部菜单File—Examples—Leweiclient里面能看到control和upload,打开control即是反向控制的编程代码。 在执行代码前,首先需要到乐联网(http://www.lewei50.com/)上注册用户名和密码,在主页右上角有注册按钮,点击后填写账号、密码和邮箱以后,再登录到邮箱里面激活账号即可。登录进入系统后,通过点击左边管理菜单下“我的账号”—“设置个人信息”里面可以看到你的userkey,这个userkey是每个用户唯一的。 如上图,这是第一处需要修改的地方将程序里面的define LW_USERKEY后面的数值改成你实际个人账号的userkey。 其它的变量基本不需要修改,解释如下: LW_GATEWAY:乐联网的配置的网关标识; MY_NAME:网关名称; MY_NAME:网关介绍; my_addr :被控制的Arduino UNO板可以采取由无线路由器DHCP自动分配IP地址的方式来获取IP,也可以采用手动输入的静态的IP地址,如果采用静态IP地址,则这里输入http://静态IP地址/api,如图中,则表示静态的IP地址为192.168.1.221。 port:给Arduino UNO这个网络终端分配的控制端口号(跨网络控制时候有意义); 程序中上面的代码中,如果是“if 0”,则表示不采用静态IP地址的方式,如果是“if 1”,则表示采用静态IP地址,则继续执行下面代码,解释如下: IPAddress myip:这里需要输入手动配置给Arduino UNO板的IP地址,与前面的my_addr 里的IP地址要保持一致; IPAddress dnsip:这里需要输入与W5100相连接的路由器的DNS的IP地址,查询方法,登录进入路由器配置界面,查看WAN口状态(不同厂商的路由器查询方法不一致,但都能看到WAN口状态)里面的DNS服务器选项。 IPAddress dnsip:这里需要输入与W5100相连接的路由器的IP地址; IPAddress gateway:这里需要输入与W5100相连接的路由器的DNS的IP地址 3.3 选择不同的控制方式 这里是第二处需要修改的地方,下面看后面的这几行代码,根据具体情况选择网关注册方式:      lwc = new LeWeiClient(LW_USERKEY, LW_GATEWAY,MY_NAME, MY_DESC, my_addr, (LeWeiClient::flag)((LeWeiClient::isControlled)|(LeWeiClient::internetAvailable)));    // lwc = new LeWeiClient(LW_USERKEY, LW_GATEWAY,MY_NAME, MY_DESC, my_addr, (LeWeiClient::flag)(LeWeiClient::isControlled)); // lwc = new LeWeiClient(LW_USERKEY, LW_GATEWAY,MY_NAME, MY_DESC, my_addr, (LeWeiClient::flag)(LeWeiClient::none));    上面的代码其中LW_USERKEY, LW_GATEWAY,MY_NAME, MY_DESC, my_addr等变量的定义前文已有叙述。这里的三条语句分别适用于三种不同的场景: 3.3.1不设置控制的情况 如果设置网关不具备反向控制的功能的话,则运行下面语句,其它语句可以注释掉: lwc = new LeWeiClient(LW_USERKEY, LW_GATEWAY,MY_NAME, MY_DESC, my_addr, (LeWeiClient::flag)(LeWeiClient::none)); 运行程序后网关配置如下: 这就表示这种配置下的网关是不可控的。 3.3.2手机与Arduino+W5100在同一网段下 如果控制的手机和Arduino+W5100的IP地址在同一网段下,则运行下面的语句, lwc = new LeWeiClient(LW_USERKEY, LW_GATEWAY,MY_NAME, MY_DESC, my_addr, (LeWeiClient::flag)(LeWeiClient::isControlled)); LeWeiClient::isControlled:配置网关是可控的; 设置后运行该程序后,则在乐联网的管理菜单“我的物联网”的“我的网关列表”点击“编辑”网关后里面可以看到网关的配置情况如下图,可以看到“是否可控”选项已经勾选,但是“公网访问”没有勾选“允许”。 3.3.3手机与Arduino+W5100 跨网段 手机通过公网控制Arduino+W5100则需要运行以下语句: lwc = new LeWeiClient(LW_USERKEY, LW_GATEWAY,MY_NAME, MY_DESC, my_addr, (LeWeiClient::flag)((LeWeiClient::isControlled)|(LeWeiClient::internetAvailable)));其它语句注释,其中LeWeiClient::internetAvailable设置是否允许访问公网。运行程序后网关配置如下: 需要说明的是:如果想要实现跨网段控制,arduino+w5100接入的网络路由器要有公网地址,可以在路由器上面做到Arduino+W5100的NAT映射。(联通基本上符合条件,小区宽带的用户基本上都不符合要求)。NAT映射的设置需要在路由器配置界面里进行配置(一般在“转发规则”里的“虚拟服务器设置”),如下图: 3.4 修改实际的应用代码 这是最后一处需要修改的地方,红色部分是我写的应用代码,可以按照自己的应用编写实际的代码。 这里建立了两个执行器,名称分别为DA和DA2。描述分别为dummy2 和 dummy1。 dummy_act the_act("DA", "dummy actuator", "dummy2"); dummy_act the_act2("DA2", "dummy actuator", "dummy1"); class dummy_act: public LeWeiActuator   {    private:char led;       public:           dummy_act(                   const char *id,                   const char *type,                    const char *name) : LeWeiActuator(id, type, name)       {};           virtual bool updateValue(char* id,int val)           {               Serial.print("dev id = ");                Serial.println(id);               if(!strcmp(id,"DA"))             {               Serial.println("handle da routin");                                digitalWrite(ledPin_da, val);             }             if(!strcmp(id,"DA2"))             {               Serial.println("handle da2 routin");                     digitalWrite(ledPin_da2, val);             }             Serial.print("update actuator ");               Serial.println(val);               led=val;               return val;           }           virtual bool getValue(int *val)              {                  static int i = 0;                  *val = led;                  return true;              }     };   3.5 通过app来控制arduino 下载乐联网手机App:http://open.lewei50.com/home/sitecontent/ydkhd 同一网段: 安装后使用乐联网的账号密码登录进去,手机和Arduino+W5100在同一网段,选择反向控制,进入反向控制界面,App会自动找到API地址(如果没有手动输入也可以),点击右上角“查找可控设备”,则进入控制界面,如果你的LED灯已经在Arduino板上连线好了,就可以点击可控设备列表的相关设备进行LED亮灭控制了。    不同网段: 3.6 通过web的控制arduino(需要跨网支持) 如果已经可以完成app跨网段的控制,可以再近一步进行这个通过web控制arduino的实验。为后面制定阶段性任务执行打基础(比如说在web上面定义一个执行计划,每天6点关灯,18点开灯) 添加两个控制设备,缩写分别为DA 和 DA2(与前面建立的两个执行器缩写名一定要一致) 如果一切正常,设备应该显示在线状态(已打开或者已关闭) 4 结束语 以上介绍了乐联网的反向控制Arduino的一个应用,希望能够让大家对乐联网的物联网应用有更进一步的了解,并能借鉴这个应用启发您的思路,一起在乐联网上实现自己的各类创意。后续,我们会推出通过数值的变化来控制设备实现不同的变化的更为复杂的控制方案,尽请期待!
  • 热度 1
    2012-4-12 16:17
    709 次阅读|
    0 个评论
    Arduino扫盲教程1 (I/O 口输出 ) 本教程使用的是ArduinoDuemilanove 软件版本是0021。 在Arduino的开发环境中设置串口(Tools—SerialPort— 硬件使用的串口号 ) 选择正确的Arduino板系列型号,(Tools—Board— Arduino Duemilanove or Nano w/ATmege328 ) 一般在C语言中要求必须有一个主函数,即main函数,且只能有一个主函数,程序执行是从主函数开始的。但在Arduino中,主函数main函数在内部定义了, 使用者只需要完成以下两个函数就能够完成Arduino程序的编写,这连个函数分别负责Arduino程序的初始化部分和执行部分。他们是 qvoid setup() qvoid loop() 两个函数均为无返回值的函数,setup()函数用于初始化,一般放在程序开头, 主要工作是用于设置一些引脚的输出/输入模式,、初始化串口等,该函数只在上电或重启时执行一次.;loop()函数用于执行程序,loop()函数是一个死循环,其中的代码将被循环执行, 来完成程序的功能。 由于在Arduino板上的pin13脚连接了一个LED,我们就使用这个LED了解一下Arduino引脚的输出。 I/O的输出实际上就是两步操作,1、设置引脚为输出;2、设置输出高或者输出低 在加上延时就能看到效果了。 程序如下(直接粘贴到Arduino开发环境下就可直接应用): void setup( ) {   // 设置引脚13为输出,   //使用函数pinMode(pin, mode),   //    pin表示14个Arduino引脚为0~13,   //    mode表示输入或输出,可选参数为INPUT戒OUTPUT   pinMode(13, OUTPUT); } void loop( ) {     //设置引脚输出高电平,使用函数digitalWrite(pin, value):数字IO口输出电平定义凼数,     //    pin表示14个引脚为0~13     //    value表示输出电平,高电平为HIGH,低电平为LOW     digitalWrite(13, HIGH);     //延时1秒,使用延时函数delay(ms)     //    ms表示延时时间,单位是ms,1000ms=1s     delay(1000);     digitalWrite(13, LOW);    // set the LED off     delay(1000);              // wait for a second } 选择开发环境中的Upload(一个向右的箭头)就可以看到LED闪烁的效果了 重点:3个函数 数字 IO 口辒入辒出模式定义凼数           pinMode(pin, mode) 数字 IO 口输出电平定义凼数         digitalWrite(pin, value) 延时函数                        delay ( ms )
  • 热度 1
    2012-4-1 15:52
    3035 次阅读|
    0 个评论
    Randy Sarafan是在Instructables的一个技术编辑,做了一个Arduino以太网Shield教程。这儿有两个例子向我们展示了如何使用Arduion以太网Shield来实现HTML网页以及解析URL字符串。这儿有一个教程链接: http://www.instructables.com/id/Arduino-Ethernet-Shield-Tutorial/?ALLSTEPS  ,我们一起来走近它吧,使用它吧~~ Arduino 以太网 Shield 更多相关文章,请点击阅读: http://bbs.ednchina.com/BLOG_ARTICLE_3001087.HTM   欢迎留言评论~~
相关资源
广告