(RB-13K164)基于Intel Edison智能硬件开发套件
目录 |
产品概述
Intel Edison是一款专门针对小型智能设备设计的双核芯片,采用x86架构处理内核,支持Linux并能运行复杂的高级应用程序,可以通过WiFi和蓝牙对外沟通。Intel Edison不但可以满足电子爱好者、创客、开发人员的需求,同时也非常适用于学校的计算机、嵌入式硬件的教学工作。同样的硬件设备,针对初学者可以偏重于电子电路、Arduino编程,对于中级用户可以偏重于Python、网络应用,而对于高级用户可以偏重于Linux操作系统。
尽管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吧!
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
产品清单
- RB-01C015A Arduino XBee Sensor Shield * 1 个
- RB-02S005A LED发光模块(红色) * 1 个
- RB-02S032A 按压式大按钮模块 * 1 个
- RB-02S031A 蜂鸣器发声模块 * 1 个
- RB-02S024A 旋转角度电位计传感器 * 1 个
- RB-02S084A 模拟声音传感器 * 1 个
- RB-02S025A 大功率继电器模块 * 1 个
- RB-02S019A LM35线性温度传感器 * 1 个
- RB-02S022A 火焰传感器 * 1 个
- RB-02S081A 触摸传感器 * 1 个
- RB-02S047A 土壤湿度传感器 * 1 个
- RB-02S091 高精度光线传感器 * 1 个
- RB-02S017A 红外热释电传感器 * 1 个
- RB-02S087 振动马达模块 * 1 个
- 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
下载地址: http://www.arduino.cc/en/Main/Software
- Putty 远程登录软件
下载地址: http://www.putty.ws/
- FTP工具——FileZilla Client
下载地址: https://filezilla-project.org/
- 文本编译工具——notepad++
驱动下载安装
下载地址: https://notepad-plus-plus.org/download/v6.8.6.html
进入官网,点击如下所示位置,可以进入Intel Edison使用的所有文件下载界面,注意根据您电脑的系统选择相应的版本进行下载。
Arduino 基本语言
从眨眼的LED开始
- 【功能】
程序要实现的功能是外接的LED小灯点以一定的频率闪烁。这个程序是学习Arduino IDE的第一步。千里之行,始于足下,让我们开始吧!
- 【硬件】
LED是发光二极管的英文缩写。它可以发出不同波长的电磁波,我们的产品发出的红色的可见光。
硬件连接还是比较容易的,首先把扩展板卡合到主控板的上方,注意此连接方法是唯一的,如果位置卡合错误可能会造成主板损坏!
要实现LED闪烁的效果,我们只需要LED电子模块即可,我们看到电子模块上带有标记D,说明是数字的(digital)传感器,因此使用3P线将其连接到扩展板。注意通常不使用D0、D1和D13。因为D0和D1在程序上传时不能被占用,D13内置了1KΩ的电阻,默认连接了板载的L小灯,常用作测试。本案例中把LED连接到D7。
注意3P线的线序要和扩展板一一对应。为黑色对应G(接地,GND),中间的红色对应V(5V电源,可用跳线帽切换为3.3V),黄色对应信号线,可能是A或D,主要取决于电子模块的符号是A还是D。
- 【软件】
打开Arduino IDE,编写并上传如下程序:
/*********************************************************** 哈尔滨奥松机器人科技股份有限公司 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); }
- Python 程序
打开文本编译工具——notepad++,编辑下列程序
''' 哈尔滨奥松机器人科技股份有限公司 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
精选例程
火焰报警器
- 【功能】
程序要实现的功能是使用Intel Edison连接火焰传感器、蜂鸣器模块、LED发光模块,通过火焰传感器的检测,在有火焰时,会有报警声同时伴随报警灯。
- 【硬件】
火焰传感器的专业称呼应为光电二极管。光电二极管利用杂质半导体的性质制成PN节,从而对特定波长的电磁波敏感。光电二极管工作在反向电压下,在正向电压下也能导电,但是效果非常差。
我们在“人体红外报警器”便知道具有温度的物体可以发射红外线。火焰温度更高,当然也会发出红外线,但是和人体发出红外线的波长不同。火焰发出红外线的波长在大自然中并不常见,但是它依然会受到人体、阳光等因素的影响。该电子积木和红外热释电传感器类似,我们也可以用纸绕成圈后套在传感器上以减少干扰。
将蜂鸣器模块连接到Xbee Sensor Shield数字8引脚(D8),LED发光模块连接到Xbee Sensor Shield数字5引脚(D5),火焰传感器模块连接到Xbee Sensor Shield模拟0引脚(A0)。
- 【软件】
打开Arduino IDE,编写并上传如下程序:
/*********************************************************** 哈尔滨奥松机器人科技股份有限公司 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); } }
- Python 程序
''' 哈尔滨奥松机器人科技股份有限公司 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())
Edison 网页控制 LED
- 【功能】
通过网页按键控制LED灯的亮灭。(使用Arduino进行控制)
- 【硬件】
将LED发光模块连接到 Xbee Sensor Shield扩展板数字9(D9)接口。
- 【软件】
打开Arduino IDE,编写并上传如下程序:
/*********************************************************** 哈尔滨奥松机器人科技股份有限公司 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); }
产品相关推荐
产品购买地址
[ 基于Intel Edison智能硬件开发套件]
周边产品推荐
SparkFun原装进口 Block for Intel Edison 9轴姿态传感器 扩展板
Intel® Edison Console USB-TTL扩展板 开发板 Sparkfun原装进口
Sparkfun原装 英特尔 Sparkfun Block for Intel Edison 液晶扩展
SparkFun原装进口 Interface Pack for Intel® Edison 扩展板
SparkFun原装进口 Block for Intel® Edison 扩展板 Arduino扩展