查看(RB-13K164)基于Intel Edison智能硬件开发套件的源代码
←
(RB-13K164)基于Intel Edison智能硬件开发套件
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
[[文件:13K16401.png|500px|有框|右]] ==产品概述== Intel Edison是一款专门针对小型智能设备设计的双核芯片,采用x86架构处理内核,支持Linux并能运行复杂的高级应用程序,可以通过WiFi和蓝牙对外沟通。Intel Edison不但可以满足电子爱好者、创客、开发人员的需求,同时也非常适用于学校的计算机、嵌入式硬件的教学工作。同样的硬件设备,针对初学者可以偏重于电子电路、Arduino编程,对于中级用户可以偏重于Python、网络应用,而对于高级用户可以偏重于Linux操作系统。<br/> 尽管Intel Edison有着如此强大的功能,但它还是缺少一组传感器来与你互动,奥松机器人从其所开发的上百种传感器中精挑细选,为各位玩家收集了一些最实用也最易用的传感器。套件中包含XBee Sensor Shield传感器扩展板,扩展板不仅附带Xbee接口、蓝牙、APC220接口、SPI通信接口、外接电源口,而且3Pin的彩色排针保证接线正确,在XBee Sensor Shield传感器扩展板上添加传感器就如同搭积木一般简单,套件中的传感器也都是使用防插反接口,可以尽量帮您避免由于插接错误造成的产品损坏,在应用手册中,奥松机器人为您提供了丰富的内容,从Intel Edison初识到上手,分别介绍了Intel Edison的硬件接口、软件架构、如何开始使用你的Intel Edison开发板;编程语言方面,我们为您讲解了Arduino编程语言和python编程语言;例程方面,为您提供了12个精选例程,从基础实验的数字传感器控制、舵机控制等到互动实验的火焰报警器、防盗系统、不让摸的传感器等,还有扩展部分的实验,让您通过网页访问Intel Edison,实现智能家居的制作。通过这一系列的学习,您可以掌握Intel Edison的基本应用、Arduino编程语言、Python编程语言、智能家居的入门应用。您还在等什么?开始用Intel Edison智能硬件开发套件来实现您的idea吧!<br/> ==Intel Edison 硬件参数== # 体积:35.5 * 25 * 3.9 mm # 低功耗:一般情况下电流消耗不超过 200mA,WiFi传输数据时,尖峰电流可能达到 600mA # CPU:500MHz双核,双线程 32bit Atom处理器,100MHz Quark 处理器 # 内存:1GB LPDDR3 POP memory # Flash 存储:4GB # IO:40 个 GPIO # WIFI/蓝牙:Broadcom BCM43340 a/b/g/n + bluetooth4.0 # USB:2.0 OTG * 1 # 输入电压:3.15V - 4.5V # DC 接口输入电压: 7V - 15V 直流、内正外负 # 时钟:19.2MHz,32KHz ==产品清单== # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-01C015A)Arduino_XBee_Sensor_Shield RB-01C015A Arduino XBee Sensor Shield] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S005A)LED%E5%8F%91%E5%85%89%E6%A8%A1%E5%9D%97%EF%BC%88%E7%BA%A2%E8%89%B2%EF%BC%89 RB-02S005A LED发光模块(红色)] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S032A)_%E6%8C%89%E5%8E%8B%E5%BC%8F%E5%A4%A7%E6%8C%89%E9%92%AE%E6%A8%A1%E5%9D%97 RB-02S032A 按压式大按钮模块] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S031A)_%E8%9C%82%E9%B8%A3%E5%99%A8%E5%8F%91%E5%A3%B0%E6%A8%A1%E5%9D%97 RB-02S031A 蜂鸣器发声模块] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S024)%E6%97%8B%E8%BD%AC%E8%A7%92%E5%BA%A6%E7%94%B5%E4%BD%8D%E8%AE%A1%E4%BC%A0%E6%84%9F%E5%99%A8 RB-02S024A 旋转角度电位计传感器] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S084A)%E5%A3%B0%E9%9F%B3%E6%A3%80%E6%B5%8B%E4%BC%A0%E6%84%9F%E5%99%A8%EF%BC%88%E5%A5%A5%E6%9D%BE%EF%BC%89 RB-02S084A 模拟声音传感器] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S025A)_%E5%A4%A7%E5%8A%9F%E7%8E%87%E7%BB%A7%E7%94%B5%E5%99%A8%E6%A8%A1%E5%9D%97 RB-02S025A 大功率继电器模块] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S019A)LM35%E7%BA%BF%E6%80%A7%E6%B8%A9%E5%BA%A6%E4%BC%A0%E6%84%9F%E5%99%A8 RB-02S019A LM35线性温度传感器] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S022A)%E7%81%AB%E7%84%B0%E4%BC%A0%E6%84%9F%E5%99%A8 RB-02S022A 火焰传感器] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/((SKU:RB-02S081)_)%E8%A7%A6%E6%91%B8%E4%BC%A0%E6%84%9F%E5%99%A8 RB-02S081A 触摸传感器] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S047A)%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6%E4%BC%A0%E6%84%9F%E5%99%A8 RB-02S047A 土壤湿度传感器] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S091)TEMT6000_%E5%85%89%E6%95%8F%E4%BC%A0%E6%84%9F%E5%99%A8 RB-02S091 高精度光线传感器] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S017A)%E7%BA%A2%E5%A4%96%E7%83%AD%E9%87%8A%E7%94%B5%E4%BC%A0%E6%84%9F%E5%99%A8 RB-02S017A 红外热释电传感器] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-02S087)_%E6%8C%AF%E5%8A%A8%E9%A9%AC%E8%BE%BE RB-02S087 振动马达模块] * 1 个 # [http://www.alsrobot.com.cn/wiki/index.php/(SKU:RB-04M001)RB-15PG%E8%88%B5%E6%9C%BA%EF%BC%88%E9%BB%91%E8%89%B2%EF%BC%89 RB-04M042 RB - 15PG 舵机] * 1 个 # RB - 06L040 Micro USB 数据线 * 2 个 # RB - 10P032 12 V 1A适配器 # RB - 09M247 Intel Edison开发板双色亚克力外壳 # RB - 12C229 单头放插反 3P 连接线 * 10 条 # RB - 13K031 超大双层元件盒 * 1 个 ==使用软件下载== * Arduino .cc 当前最新版 IDE:Arduino 1.6.8<br/> 下载地址: http://www.arduino.cc/en/Main/Software<br/> * Putty 远程登录软件<br/> 下载地址: http://www.putty.ws/<br/> * FTP工具——FileZilla Client<br/> 下载地址: https://filezilla-project.org/<br/> * 文本编译工具——notepad++<br/> ==驱动下载安装== 下载地址: https://notepad-plus-plus.org/download/v6.8.6.html<br/> 进入官网,点击如下所示位置,可以进入Intel Edison使用的所有文件下载界面,注意根据您电脑的系统选择相应的版本进行下载。 [[文件:13K16402.png|500px|有框|居中]] ==Arduino 基本语言== *[http://www.alsrobot.cn/wiki/index.php/Arduino%E7%BC%96%E7%A8%8B%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%EF%BC%88%E5%A4%9A%E9%A1%B5%E9%9D%A2%E7%89%88%EF%BC%89 Arduino 编程参考手册(多页面)] * [http://www.alsrobot.cn/wiki/index.php/Arduino%E7%BC%96%E7%A8%8B%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C Arduino 编程参考手册] ==从眨眼的LED开始== * 【功能】 程序要实现的功能是外接的LED小灯点以一定的频率闪烁。这个程序是学习Arduino IDE的第一步。千里之行,始于足下,让我们开始吧!<br/> * 【硬件】 LED是发光二极管的英文缩写。它可以发出不同波长的电磁波,我们的产品发出的红色的可见光。<br/> [[文件:13K024A02.png|500px|有框|居中]] 硬件连接还是比较容易的,首先把扩展板卡合到主控板的上方,注意此连接方法是唯一的,如果位置卡合错误可能会造成主板损坏!<br/> [[文件:13K16403.png|500px|有框|居中]] 要实现LED闪烁的效果,我们只需要LED电子模块即可,我们看到电子模块上带有标记D,说明是数字的(digital)传感器,因此使用3P线将其连接到扩展板。注意通常不使用D0、D1和D13。因为D0和D1在程序上传时不能被占用,D13内置了1KΩ的电阻,默认连接了板载的L小灯,常用作测试。本案例中把LED连接到D7。<br/> [[文件:13K16404.png|500px|有框|居中]] 注意3P线的线序要和扩展板一一对应。为黑色对应G(接地,GND),中间的红色对应V(5V电源,可用跳线帽切换为3.3V),黄色对应信号线,可能是A或D,主要取决于电子模块的符号是A还是D。<br/> * 【软件】<br/> 打开Arduino IDE,编写并上传如下程序:<br/> <pre style='color:blue'> /*********************************************************** 哈尔滨奥松机器人科技股份有限公司 RobotBase www.robotbase.cn 目 的: LED闪烁 应用硬件: Intel Edison控制器 应用软件: Arduino IDE 1.6.8 发布时间: 2016-03-23 创 建 人: Neil 版 本 号: 1.0 说 明: 若用于商业用途,请保留此段文字或注明代码来源 哈尔滨奥松机器人科技有限股份公司保留所有版权 ***********************************************************/ void setup() { pinMode(5, OUTPUT); // 设置D5为输出模式,因为LED是输出装置 } void loop() { digitalWrite(5, LOW); // 设置D5为低电平,LED熄灭 delay(1000); // 延时等待1000毫秒,即1秒钟 digitalWrite(5, HIGH); // 设置D5为高电平,点亮LED delay(1000); } </pre> * Python 程序 <br/> 打开文本编译工具——notepad++,编辑下列程序 <pre style='color:blue'> ''' 哈尔滨奥松机器人科技股份有限公司 RobotBase www.robotbase.cn 目 的: LED闪烁 应用硬件: Intel Edison控制器 应用软件: Python 2.7.3 发布时间: 2016-03-23 创 建 人: Neil 版 本 号: 1.0 说 明: 若用于商业用途,请保留此段文字或注明代码来源 哈尔滨奥松机器人科技有限股份公司保留所有版权 ''' import mraa # 声明使用的库文件 import time LED_GPIO = 5 #定义LED连接引脚 blinkLed = mraa.Gpio(LED_GPIO) #设置LED引脚名称 blinkLed.dir(mraa.DIR_OUT) #设置引脚模式为输出 ledState = False #设置变量初始值 blinkLed.write(0) #设置LED初始状态 # 循环执行下面的语句 while True: if ledState == False: blinkLed.write(1) ledState = True else: blinkLed.write(0) ledState = False print "LED is on? \nAns: %s" %(ledState) # 打印LED状态 time.sleep(1) #延时1s </pre> ==精选例程== ===火焰报警器=== * 【功能】 程序要实现的功能是使用Intel Edison连接火焰传感器、蜂鸣器模块、LED发光模块,通过火焰传感器的检测,在有火焰时,会有报警声同时伴随报警灯。 * 【硬件】 火焰传感器的专业称呼应为光电二极管。光电二极管利用杂质半导体的性质制成PN节,从而对特定波长的电磁波敏感。光电二极管工作在反向电压下,在正向电压下也能导电,但是效果非常差。 [[文件:13K024A06.png|500px|有框|居中]] 我们在“人体红外报警器”便知道具有温度的物体可以发射红外线。火焰温度更高,当然也会发出红外线,但是和人体发出红外线的波长不同。火焰发出红外线的波长在大自然中并不常见,但是它依然会受到人体、阳光等因素的影响。该电子积木和红外热释电传感器类似,我们也可以用纸绕成圈后套在传感器上以减少干扰。<br/> 将蜂鸣器模块连接到Xbee Sensor Shield数字8引脚(D8),LED发光模块连接到Xbee Sensor Shield数字5引脚(D5),火焰传感器模块连接到Xbee Sensor Shield模拟0引脚(A0)。 [[文件:13K16405.png|500px|有框|居中]] * 【软件】 打开Arduino IDE,编写并上传如下程序: <pre style="color:blue"> /*********************************************************** 哈尔滨奥松机器人科技股份有限公司 RobotBase www.robotbase.cn 目 的: 火焰报警器 应用硬件: Intel Edison控制器 应用软件: Arduino IDE 1.6.8 发布时间: 2016-03-23 创 建 人: Neil 版 本 号: 1.0 说 明: 若用于商业用途,请保留此段文字或注明代码来源 哈尔滨奥松机器人科技有限股份公司保留所有版权 ***********************************************************/ #define flame A0 //定义火焰传感器引脚 #define buzzer 8 //定义蜂鸣器引脚 #define LED 5 //定义LED发光模块引脚 void setup() { //初始化引脚输入输出模式 pinMode(buzzer,OUTPUT); pinMode(LED,OUTPUT); Serial.begin(9600); } void loop() { //循环读取火焰传感器的值,并通过串口打印 int x = analogRead(0); Serial.println(x); delay(100); if(x>300) { //如果火焰传感器的值大于300,则蜂鸣器报警同时LED点亮 digitalWrite(buzzer,LOW); digitalWrite(LED,HIGH); } else { //否则,蜂鸣器不报警,LED熄灭 digitalWrite(buzzer,HIGH); digitalWrite(LED,LOW); } } </pre> * Python 程序 <pre style="color:blue"> ''' 哈尔滨奥松机器人科技股份有限公司 RobotBase www.robotbase.cn 目 的: 火焰报警器 应用硬件: Intel Edison控制器 应用软件: Python 2.7.3 发布时间: 2016-03-23 创 建 人: Neil 版 本 号: 1.0 说 明: 若用于商业用途,请保留此段文字或注明代码来源 哈尔滨奥松机器人科技有限股份公司保留所有版权 ''' import mraa #库文件调用 import time import sys y = mraa.Gpio(5) #定义LED引脚 z = mraa.Gpio(8) #定义蜂鸣器引脚 z.dir(mraa.DIR_OUT) #定义引脚输出模式 y.dir(mraa.DIR_OUT) MAX_HuoYan = 1024 print (mraa.getVersion()) while 1: x = mraa.Aio(0) #读取火焰传感器的值 time.sleep(1) if x.read()> 300: z.write(0) y.write(1) else: z.write(1) y.write(0) print (x.read()) print ("%.5f" % x.read()) </pre> ===Edison 网页控制 LED=== * 【功能】 通过网页按键控制LED灯的亮灭。(使用Arduino进行控制) * 【硬件】 将LED发光模块连接到 Xbee Sensor Shield扩展板数字9(D9)接口。 [[文件:13K16406.png|500px|有框|居中]] * 【软件】 打开Arduino IDE,编写并上传如下程序: <pre style="color:blue"> /*********************************************************** 哈尔滨奥松机器人科技股份有限公司 RobotBase www.robotbase.cn 目 的: 通过网页控制LED 应用硬件: Intel Edison控制器 应用软件: Arduino IDE 1.6.8 发布时间: 2016-03-23 创 建 人: Neil 版 本 号: 1.0 说 明: 若用于商业用途,请保留此段文字或注明代码来源 哈尔滨奥松机器人科技有限股份公司保留所有版权 ***********************************************************/ #include <SPI.h> //包含头文件 #include <WiFi.h> char ssid[] = "123";//要连接的WiFi名称 char pass[] = "12345678";//WiFi密码 int keyIndex = 0; int status = WL_IDLE_STATUS;//定义一个变量,用来保存网络连接状态,初始化为未连接 WiFiServer server(8080);//定义一个服务器的对象,端口号8080 void setup() { Serial.begin(9600); pinMode(9, OUTPUT); //尝试连接WiFi网络,如果未连接成功,则不断尝试 if (WiFi.status() == WL_NO_SHIELD) { Serial.println("WiFi shield not present"); while(true); } String fv = WiFi.firmwareVersion(); if( fv != "1.1.0" ) Serial.println("Please upgrade the firmware"); while ( status != WL_CONNECTED) { //显示一些提示信息 Serial.print("Attempting to connect to Network named: "); Serial.println(ssid);//获取网络名称 status = WiFi.begin(ssid, pass); delay(10000);//等待10s,尝试下一次连接 } server.begin();//启动服务,监听8080端口 printWifiStatus(); } void loop() { WiFiClient client = server.available();//监听8080端口是否有客户端发送请求 if (client) { //如果监听到客户端的请求 //通过串行显示说有新的客户端 Serial.println("new client"); //定义一个字符串来保存这些请求信息 String currentLine = ""; while (client.connected()) { if (client.available()) { //读取信息并将信息通过串行通信显示在串口监视器中 char c = client.read(); Serial.write(c); if (c == '\n') { if (currentLine.length() == 0) { //如果当前字符串长度为0,又收到了换行则说明请求发送完成 //发送网页信息 client.println("HTTP/1.1 200 OK"); client.println("Content-type:text/html"); client.println(); client.println("<title> Intel Edison </title>"); client.println("RobotBase"); client.print("Click <a href=\"/H\">here</a> turn the LED on pin 9 on<br>"); client.print("Click <a href=\"/L\">here</a> turn the LED on pin 9 off<br>"); client.print("<img src = \"http://www.alsrobot.cn/images/upload/image/20150525/20150525132053_29091.jpg\" />"); client.println(); break; //发送完成后,跳出循环 } else { currentLine = ""; } } else if (c != '\r') { //接收信息中过滤回车符 currentLine += c; //将接收的字符添加到字符串currentLine中 } if (currentLine.endsWith("GET /H")) { digitalWrite(9, HIGH); } if (currentLine.endsWith("GET /L")) { digitalWrite(9, LOW); } } } client.stop(); Serial.println("client disonnected"); } } void printWifiStatus() { Serial.print("SSID: "); Serial.println(WiFi.SSID()); IPAddress ip = WiFi.localIP(); Serial.print("IP Address: "); Serial.println(ip); long rssi = WiFi.RSSI(); Serial.print("signal strength (RSSI):"); Serial.print(rssi); Serial.println(" dBm"); Serial.print("To see this page in action, open a browser to http://"); Serial.println(ip); } </pre> ==产品相关推荐== [[文件:erweima.png|230px|无框|右]] ===产品购买地址=== [ 基于Intel Edison智能硬件开发套件]<br/> ===周边产品推荐=== [http://www.alsrobot.cn/goods-660.html SparkFun原装进口 Block for Intel Edison 9轴姿态传感器 扩展板]<br/> [http://www.alsrobot.cn/goods-657.html Intel® Edison Console USB-TTL扩展板 开发板 Sparkfun原装进口]<br/> [http://www.alsrobot.cn/goods-658.html Sparkfun原装 英特尔 Sparkfun Block for Intel Edison 液晶扩展]<br/> [http://www.alsrobot.cn/goods-659.html SparkFun原装进口 Interface Pack for Intel® Edison 扩展板]<br/> [http://www.alsrobot.cn/goods-661.html SparkFun原装进口 Block for Intel® Edison 扩展板 Arduino扩展]<br/> ===相关问题解答=== ===相关学习资料=== [https://software.intel.com/zh-cn/iot/hardware/edison Intel Edison 官方教程]
返回
(RB-13K164)基于Intel Edison智能硬件开发套件
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面
页面信息