“(RB-13K164)基于Intel Edison智能硬件開發(fā)套件”的版本間的差異

來自ALSROBOT WiKi
跳轉至: 導航、 搜索
?編譯環(huán)境下載
?產(chǎn)品相關推薦
 
(未顯示1個用戶的3個中間版本)
第48行: 第48行:
 
下載地址: https://filezilla-project.org/<br/>
 
下載地址: https://filezilla-project.org/<br/>
 
* 文本編譯工具——notepad++<br/>
 
* 文本編譯工具——notepad++<br/>
 +
 +
==驅動下載安裝==
 
下載地址: https://notepad-plus-plus.org/download/v6.8.6.html<br/>
 
下載地址: https://notepad-plus-plus.org/download/v6.8.6.html<br/>
 +
進入官網(wǎng),點擊如下所示位置,可以進入Intel Edison使用的所有文件下載界面,注意根據(jù)您電腦的系統(tǒng)選擇相應的版本進行下載。
 +
[[文件:13K16402.png|500px|有框|居中]]
  
 
==Arduino 基本語言==
 
==Arduino 基本語言==
第54行: 第58行:
 
* [http://gharee.com/wiki/index.php/Arduino%E7%BC%96%E7%A8%8B%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C Arduino 編程參考手冊]
 
* [http://gharee.com/wiki/index.php/Arduino%E7%BC%96%E7%A8%8B%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C Arduino 編程參考手冊]
  
?
==Arduino 軟件及驅動安裝==
+
==從眨眼的LED開始==
?
* [http://www.makerspace.cn/forum.php?mod=viewthread&tid=5874&extra=page%3D1 Arduino 基礎教程匯總]
+
?
* [http://gharee.com/wiki/index.php/Arduino%E9%A9%B1%E5%8A%A8%E7%9A%84%E5%AE%89%E8%A3%85 Arduino 驅動安裝]
+
?
* [http://www.makerspace.cn/forum.php?mod=viewthread&tid=5857&page=1&extra=#pid14280 Ardublock 圖形化編程軟件安裝及介紹]
+
?
 
+
?
==從閃爍的 LED 開始==
+
 
* 【功能】
 
* 【功能】
?
LED閃爍程序要實現(xiàn)的功能是LED小燈點亮一秒,再熄滅一秒。這個程序是學習Arduino IDE的第一步。千里之行,始于足下,讓我們開始吧!<br/>
+
程序要實現(xiàn)的功能是外接的LED小燈點以一定的頻率閃爍。這個程序是學習Arduino IDE的第一步。千里之行,始于足下,讓我們開始吧!<br/>
 
* 【硬件】
 
* 【硬件】
 
LED是發(fā)光二極管的英文縮寫。它可以發(fā)出不同波長的電磁波,我們的產(chǎn)品發(fā)出的紅色的可見光。<br/>
 
LED是發(fā)光二極管的英文縮寫。它可以發(fā)出不同波長的電磁波,我們的產(chǎn)品發(fā)出的紅色的可見光。<br/>
 
[[文件:13K024A02.png|500px|有框|居中]]
 
[[文件:13K024A02.png|500px|有框|居中]]
 
硬件連接還是比較容易的,首先把擴展板卡合到主控板的上方,注意此連接方法是唯一的,如果位置卡合錯誤可能會造成主板損壞!<br/>
 
硬件連接還是比較容易的,首先把擴展板卡合到主控板的上方,注意此連接方法是唯一的,如果位置卡合錯誤可能會造成主板損壞!<br/>
?
[[文件:13K024A03.png|500px|有框|居中]]
+
[[文件:13K16403.png|500px|有框|居中]]
 
要實現(xiàn)LED閃爍的效果,我們只需要LED電子模塊即可,我們看到電子模塊上帶有標記D,說明是數(shù)字的(digital)傳感器,因此使用3P線將其連接到擴展板。注意通常不使用D0、D1和D13。因為D0和D1在程序上傳時不能被占用,D13內置了1KΩ的電阻,默認連接了板載的L小燈,常用作測試。本案例中把LED連接到D7。<br/>
 
要實現(xiàn)LED閃爍的效果,我們只需要LED電子模塊即可,我們看到電子模塊上帶有標記D,說明是數(shù)字的(digital)傳感器,因此使用3P線將其連接到擴展板。注意通常不使用D0、D1和D13。因為D0和D1在程序上傳時不能被占用,D13內置了1KΩ的電阻,默認連接了板載的L小燈,常用作測試。本案例中把LED連接到D7。<br/>
?
[[文件:13K024A04.png|500px|有框|居中]]
+
[[文件:13K16404.png|500px|有框|居中]]
 
注意3P線的線序要和擴展板一一對應。為黑色對應G(接地,GND),中間的紅色對應V(5V電源,可用跳線帽切換為3.3V),黃色對應信號線,可能是A或D,主要取決于電子模塊的符號是A還是D。<br/>
 
注意3P線的線序要和擴展板一一對應。為黑色對應G(接地,GND),中間的紅色對應V(5V電源,可用跳線帽切換為3.3V),黃色對應信號線,可能是A或D,主要取決于電子模塊的符號是A還是D。<br/>
 
* 【軟件】<br/>
 
* 【軟件】<br/>
第74行: 第73行:
 
<pre style='color:blue'>
 
<pre style='color:blue'>
 
/***********************************************************
 
/***********************************************************
?
奧松機器人 RobotBase  www.robotbase.cn
+
哈爾濱奧松機器人科技股份有限公司 RobotBase  www.robotbase.cn
 
目    的:  LED閃爍
 
目    的:  LED閃爍
?
應用硬件:  Carduino UNO R3 控制器
+
應用硬件:  Intel Edison控制器
?
應用軟件:  Arduino IDE 1.7.8
+
應用軟件:  Arduino IDE 1.6.8
?
發(fā)布時間:  2016-02-16
+
發(fā)布時間:  2016-03-23
?
創(chuàng) 建 人:  李澤
+
創(chuàng) 建 人:  Neil
 
版 本 號:  1.0  
 
版 本 號:  1.0  
 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源
 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源
第85行: 第84行:
 
***********************************************************/
 
***********************************************************/
 
void setup() {
 
void setup() {
?
   pinMode(7, OUTPUT);  // 設置D7為輸出模式,因為LED是輸出裝置
+
   pinMode(5, OUTPUT);  // 設置D5為輸出模式,因為LED是輸出裝置
 
}
 
}
?
 
 
void loop() {
 
void loop() {
?
   digitalWrite(7, LOW);  // 設置D7為低電平,LED熄滅
+
   digitalWrite(5, LOW);  // 設置D5為低電平,LED熄滅
 
   delay(1000);  // 延時等待1000毫秒,即1秒鐘
 
   delay(1000);  // 延時等待1000毫秒,即1秒鐘
?
   digitalWrite(7, HIGH);  // 設置D7為高電平,點亮LED
+
   digitalWrite(5, HIGH);  // 設置D5為高電平,點亮LED
 
   delay(1000);
 
   delay(1000);
 
}
 
}
 
</pre>
 
</pre>
?
* 【ArduBlock】<br/>
+
* Python 程序 <br/>
?
如果不想敲入復雜的代碼,你還可以選擇相對比較簡單的ArduBlock進行編程。安裝和打開方法參考之前的軟件介紹。<br/>
+
打開文本編譯工具——notepad++,編輯下列程序
?
[[文件:13K024A05.png|500px|有框|居中]]
+
<pre style='color:blue'>
 +
'''
 +
哈爾濱奧松機器人科技股份有限公司  RobotBase  www.robotbase.cn
 +
目    的: LED閃爍
 +
應用硬件:  Intel Edison控制器
 +
應用軟件:  Python 2.7.3
 +
發(fā)布時間:  2016-03-23
 +
創(chuàng) 建 人:  Neil
 +
版 本 號:  1.0
 +
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源
 +
          哈爾濱奧松機器人科技有限股份公司保留所有版權 
 +
'''
 +
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初始狀態(tài)
 +
# 循環(huán)執(zhí)行下面的語句
 +
while True:
 +
    if ledState == False:
 +
        blinkLed.write(1)
 +
        ledState = True       
 +
    else:
 +
        blinkLed.write(0)
 +
        ledState = False
 +
    print "LED is on? \nAns: %s" %(ledState) # 打印LED狀態(tài)
 +
    time.sleep(1) #延時1s
 +
</pre>
  
 
==精選例程==
 
==精選例程==
 
===火焰報警器===
 
===火焰報警器===
 
* 【功能】
 
* 【功能】
?
顧名思義,本電子裝置使用火焰?zhèn)鞲衅鳈z測是否存在火源,當發(fā)現(xiàn)火焰后發(fā)出警報。你還可以結合氣體傳感器,甚至在掌握了更多編程方法后,實現(xiàn)發(fā)送微信消息這樣的功能。為了簡單,這里我們使用蜂鳴器發(fā)出警報。為了得知閾值(也就是出發(fā)警報的臨界值),你應當先用串口輸出有無火焰的數(shù)值,然后給出一個合理的數(shù)值。
+
程序要實現(xiàn)的功能是使用Intel Edison連接火焰?zhèn)鞲衅?、蜂鳴器模塊、LED發(fā)光模塊,通過火焰?zhèn)鞲衅鞯臋z測,在有火焰時,會有報警聲同時伴隨報警燈。
 
* 【硬件】
 
* 【硬件】
 
火焰?zhèn)鞲衅鞯膶I(yè)稱呼應為光電二極管。光電二極管利用雜質半導體的性質制成PN節(jié),從而對特定波長的電磁波敏感。光電二極管工作在反向電壓下,在正向電壓下也能導電,但是效果非常差。
 
火焰?zhèn)鞲衅鞯膶I(yè)稱呼應為光電二極管。光電二極管利用雜質半導體的性質制成PN節(jié),從而對特定波長的電磁波敏感。光電二極管工作在反向電壓下,在正向電壓下也能導電,但是效果非常差。
 
[[文件:13K024A06.png|500px|有框|居中]]
 
[[文件:13K024A06.png|500px|有框|居中]]
?
我們在“人體紅外報警器”便知道具有溫度的物體可以發(fā)射紅外線?;鹧鏈囟雀撸斎灰矔l(fā)出紅外線,但是和人體發(fā)出紅外線的波長不同?;鹧姘l(fā)出紅外線的波長在大自然中并不常見,但是它依然會受到人體、陽光等因素的影響。該電子積木和紅外熱釋電傳感器類似,我們也可以用紙繞成圈后套在傳感器上以減少干擾。
+
我們在“人體紅外報警器”便知道具有溫度的物體可以發(fā)射紅外線。火焰溫度更高,當然也會發(fā)出紅外線,但是和人體發(fā)出紅外線的波長不同。火焰發(fā)出紅外線的波長在大自然中并不常見,但是它依然會受到人體、陽光等因素的影響。該電子積木和紅外熱釋電傳感器類似,我們也可以用紙繞成圈后套在傳感器上以減少干擾。<br/>
?
我們把火焰?zhèn)鞲衅鬟B接到A0,蜂鳴器給到D8。
+
將蜂鳴器模塊連接到Xbee Sensor Shield數(shù)字8引腳(D8),LED發(fā)光模塊連接到Xbee Sensor Shield數(shù)字5引腳(D5),火焰?zhèn)鞲衅髂K連接到Xbee Sensor Shield模擬0引腳(A0)。
?
[[文件:13K024A07.png|500px|有框|居中]]
+
[[文件:13K16405.png|500px|有框|居中]]
 
* 【軟件】
 
* 【軟件】
 
打開Arduino IDE,編寫并上傳如下程序:
 
打開Arduino IDE,編寫并上傳如下程序:
 
<pre style="color:blue">
 
<pre style="color:blue">
 
/***********************************************************
 
/***********************************************************
?
奧松機器人 RobotBase  www.robotbase.cn
+
哈爾濱奧松機器人科技股份有限公司 RobotBase  www.robotbase.cn
?
目    的:  當發(fā)現(xiàn)火焰時報警
+
目    的:  火焰報警器
?
應用硬件:  Carduino UNO R3 控制器
+
應用硬件:  Intel Edison控制器
?
應用軟件:  Arduino IDE 1.7.8
+
應用軟件:  Arduino IDE 1.6.8
?
發(fā)布時間:  2016-02-17
+
發(fā)布時間:  2016-03-23
?
創(chuàng) 建 人:  李澤
+
創(chuàng) 建 人:  Neil
 
版 本 號:  1.0  
 
版 本 號:  1.0  
?
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源
+
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源  
 
           哈爾濱奧松機器人科技有限股份公司保留所有版權   
 
           哈爾濱奧松機器人科技有限股份公司保留所有版權   
 
***********************************************************/
 
***********************************************************/
 +
#define flame A0 //定義火焰?zhèn)鞲衅饕_
 +
#define buzzer 8 //定義蜂鳴器引腳
 +
#define LED 5 //定義LED發(fā)光模塊引腳
 
void setup()
 
void setup()
 
{
 
{
?
   pinMode(8, OUTPUT); // 蜂鳴器是輸出裝置
+
//初始化引腳輸入輸出模式
?
   noTone(8);
+
   pinMode(buzzer,OUTPUT);
?
  digitalWrite(8, HIGH); // 關閉蜂鳴器
+
   pinMode(LED,OUTPUT);
?
}
+
   Serial.begin(9600);
?
 
+
?
void loop()
+
?
{
+
?
   if(analogRead(A0) > 200) {  // 如果檢測到的火焰值超過了你設定的閾值
+
?
    digitalWrite(8, LOW); delay(2000);  // 那么就讓蜂鳴器響兩秒
+
?
    noTone(8);
+
?
    digitalWrite(8, HIGH);  // 然后再關閉蜂鳴器
+
 
   }
 
   }
?
}
+
  void loop()
 +
  {
 +
//循環(huán)讀取火焰?zhèn)鞲衅鞯闹?,并通過串口打印
 +
    int x = analogRead(0);
 +
    Serial.println(x);
 +
    delay(100);
 +
    if(x>300)
 +
    {
 +
//如果火焰?zhèn)鞲衅鞯闹荡笥?00,則蜂鳴器報警同時LED點亮
 +
      digitalWrite(buzzer,LOW);
 +
      digitalWrite(LED,HIGH);
 +
      }
 +
      else
 +
      {
 +
//否則,蜂鳴器不報警,LED熄滅
 +
      digitalWrite(buzzer,HIGH);
 +
      digitalWrite(LED,LOW);       
 +
        }
 +
    }
 
</pre>
 
</pre>
?
* 【ArduBlock】
+
* Python 程序
?
[[文件:13K024A08.png|500px|有框|居中]]
+
<pre style="color:blue">
 +
'''
 +
哈爾濱奧松機器人科技股份有限公司  RobotBase  www.robotbase.cn
 +
目    的:  火焰報警器
 +
應用硬件:  Intel Edison控制器
 +
應用軟件:  Python 2.7.3
 +
發(fā)布時間:  2016-03-23
 +
創(chuàng) 建 人:  Neil
 +
版 本 號:  1.0
 +
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源
 +
          哈爾濱奧松機器人科技有限股份公司保留所有版權 
 +
'''
 +
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) #讀取火焰?zhèn)鞲衅鞯闹?/ins>
 +
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 網(wǎng)頁控制 LED===
 
* 【功能】
 
* 【功能】
?
空氣的溫度和濕度是最直觀、最常見的兩個物理量。能夠測量它們的傳感器非常多,我們的電子模塊使用LM35測量空氣溫度、DHT11測量空氣溫濕度。在這個案例中我們制作一個簡單的電子溫度計,串口監(jiān)視器就是我們的電子屏幕,輸出當前的溫度和濕度。
+
通過網(wǎng)頁按鍵控制LED燈的亮滅。(使用Arduino進行控制)
 
* 【硬件】
 
* 【硬件】
?
我們使用LM35測量溫度,使用DHT11測量濕度。兩者的內部結構非常復雜,我們就不做介紹了。
+
將LED發(fā)光模塊連接到 Xbee Sensor Shield擴展板數(shù)字9(D9)接口。
?
[[文件:13K024A09.png|500px|有框|居中]]
+
[[文件:13K16406.png|500px|有框|居中]]
?
LM35標記為A,所以直接接到模擬口并使用analogRead讀取數(shù)值。LM35規(guī)定溫度每升高1℃,電壓增加10mV。而ADC的精度決定其檢測范圍是0到1023,對應的就是0V到5V,那么假設當前檢測的數(shù)值是n,那么當前溫度=5×n÷1023×100。注意ADC最大量程5V可以通過AREF引腳修改。
+
?
至于DHT11,我們僅在ArduBlock程序中進行演示。如果要在代碼中使用,建議下載DHT11相關的庫函數(shù),然后根據(jù)庫文件的要求進行使用即可。
+
?
我們連接LM35電子積木到A0,DHT11到D8。
+
?
[[文件:13K024A10.png|500px|有框|居中]]
+
 
* 【軟件】
 
* 【軟件】
 
打開Arduino IDE,編寫并上傳如下程序:
 
打開Arduino IDE,編寫并上傳如下程序:
 
<pre style="color:blue">
 
<pre style="color:blue">
 
/***********************************************************
 
/***********************************************************
?
奧松機器人 RobotBase  www.robotbase.cn
+
哈爾濱奧松機器人科技股份有限公司 RobotBase  www.robotbase.cn
?
目    的:  通過串口輸出空氣溫度值
+
目    的:  通過網(wǎng)頁控制LED
?
應用硬件:  Carduino UNO R3 控制器
+
應用硬件:  Intel Edison控制器
?
應用軟件:  Arduino IDE 1.7.8
+
應用軟件:  Arduino IDE 1.6.8
?
發(fā)布時間:  2016-02-17
+
發(fā)布時間:  2016-03-23
?
創(chuàng) 建 人:  李澤
+
創(chuàng) 建 人:  Neil
 
版 本 號:  1.0  
 
版 本 號:  1.0  
?
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源
+
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源  
 
           哈爾濱奧松機器人科技有限股份公司保留所有版權   
 
           哈爾濱奧松機器人科技有限股份公司保留所有版權   
 
***********************************************************/
 
***********************************************************/
?
void setup()
+
#include <SPI.h> //包含頭文件
?
{
+
#include <WiFi.h>
?
   Serial.begin(9600);
+
char ssid[] = "123";//要連接的WiFi名稱   
 +
char pass[] = "12345678";//WiFi密碼 
 +
int keyIndex = 0;               
 +
int status = WL_IDLE_STATUS;//定義一個變量,用來保存網(wǎng)絡連接狀態(tài),初始化為未連接
 +
WiFiServer server(8080);//定義一個服務器的對象,端口號8080
 +
void setup() {
 +
   Serial.begin(9600);    
 +
  pinMode(9, OUTPUT);
 +
  //嘗試連接WiFi網(wǎng)絡,如果未連接成功,則不斷嘗試     
 +
  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);//獲取網(wǎng)絡名稱               
 +
    status = WiFi.begin(ssid, pass);
 +
    delay(10000);//等待10s,嘗試下一次連接
 +
  }
 +
  server.begin();//啟動服務,監(jiān)聽8080端口                         
 +
  printWifiStatus(); 
 +
}                   
 +
void loop() {
 +
  WiFiClient client = server.available();//監(jiān)聽8080端口是否有客戶端發(fā)送請求 
 +
 
 +
  if (client) {
 +
    //如果監(jiān)聽到客戶端的請求
 +
    //通過串行顯示說有新的客戶端                           
 +
    Serial.println("new client");
 +
    //定義一個字符串來保存這些請求信息         
 +
    String currentLine = "";             
 +
    while (client.connected()) {         
 +
      if (client.available()) {
 +
        //讀取信息并將信息通過串行通信顯示在串口監(jiān)視器中         
 +
        char c = client.read();           
 +
        Serial.write(c);                 
 +
        if (c == '\n') {               
 +
          if (currentLine.length() == 0) { 
 +
            //如果當前字符串長度為0,又收到了換行則說明請求發(fā)送完成
 +
            //發(fā)送網(wǎng)頁信息
 +
            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://gharee.com/images/upload/image/20150525/20150525132053_29091.jpg\" />");
 +
            client.println();
 +
            break; //發(fā)送完成后,跳出循環(huán)       
 +
          }
 +
          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 loop()
+
void printWifiStatus() {
?
{
+
   Serial.print("SSID: ");
?
   Serial.print("Temperature: ");
+
   Serial.println(WiFi.SSID());
?
   Serial.println(analogRead(0)*5.0/1023*100); // 注意此處的公式和類型轉換
+
  IPAddress ip = WiFi.localIP();
?
   delay(100);
+
  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>
 
</pre>
?
* 【ArduBlock】
 
?
[[文件:13K024A11.png|500px|有框|居中]]
 
  
 
==產(chǎn)品相關推薦==
 
==產(chǎn)品相關推薦==
 
[[文件:erweima.png|230px|無框|右]]
 
[[文件:erweima.png|230px|無框|右]]
 
===產(chǎn)品購買地址===
 
===產(chǎn)品購買地址===
?
[http://gharee.com/goods-36.html 基于Arduino互動電子積木套件]<br/>
+
[ 基于Intel Edison智能硬件開發(fā)套件]<br/>
 
===周邊產(chǎn)品推薦===
 
===周邊產(chǎn)品推薦===
?
[http://gharee.com/goods-602.html 動手玩兒轉Arduino書籍]<br/>
+
[http://gharee.com/goods-660.html SparkFun原裝進口 Block for Intel Edison 9軸姿態(tài)傳感器 擴展板]<br/>
?
[http://gharee.com/goods-393.html Arduino從基礎到實踐]<br/>
+
[http://gharee.com/goods-657.html Intel? Edison Console USB-TTL擴展板 開發(fā)板 Sparkfun原裝進口]<br/>
 +
[http://gharee.com/goods-658.html Sparkfun原裝 英特爾 Sparkfun Block for Intel Edison 液晶擴展]<br/>
 +
[http://gharee.com/goods-659.html SparkFun原裝進口 Interface Pack for Intel? Edison 擴展板]<br/>
 +
[http://gharee.com/goods-661.html SparkFun原裝進口 Block for Intel? Edison 擴展板 Arduino擴展]<br/>
 
===相關問題解答===
 
===相關問題解答===
?
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=337&extra=page%3D1 Arduino 驅動安裝失敗?最全的解決辦法]<br/>
+
 
?
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5284&fromuid=10780 如何利用Xbee模塊實現(xiàn)兩個Arduino UNO控制器的通信]<br/>
+
 
===相關學習資料===
 
===相關學習資料===
?
[http://v.youku.com/v_show/id_XNDkyNTIyNjEy.html?from=y1.7-2 愛上Arduino與愛上Processing的互動視頻教程]<br/>
+
[https://software.intel.com/zh-cn/iot/hardware/edison Intel Edison 官方教程]
?
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5874&extra=page%3D1 Arduino 教程匯總]<br/>
+
?
[http://v.youku.com/v_show/id_XNDU4MTc3NzM2.html?from=y1.7-2 基于Arduino互動電子積木教學課程(第一節(jié))]<br/>
+
?
[http://www.makerspace.cn/portal.php 奧松機器人技術論壇]<br/>
+

2016年5月3日 (二) 10:43的最后版本

目錄

產(chǎn)品概述

Intel Edison是一款專門針對小型智能設備設計的雙核芯片,采用x86架構處理內核,支持Linux并能運行復雜的高級應用程序,可以通過WiFi和藍牙對外溝通。Intel Edison不但可以滿足電子愛好者、創(chuàng)客、開發(fā)人員的需求,同時也非常適用于學校的計算機、嵌入式硬件的教學工作。同樣的硬件設備,針對初學者可以偏重于電子電路、Arduino編程,對于中級用戶可以偏重于Python、網(wǎng)絡應用,而對于高級用戶可以偏重于Linux操作系統(tǒng)。
盡管Intel Edison有著如此強大的功能,但它還是缺少一組傳感器來與你互動,奧松機器人從其所開發(fā)的上百種傳感器中精挑細選,為各位玩家收集了一些最實用也最易用的傳感器。套件中包含XBee Sensor Shield傳感器擴展板,擴展板不僅附帶Xbee接口、藍牙、APC220接口、SPI通信接口、外接電源口,而且3Pin的彩色排針保證接線正確,在XBee Sensor Shield傳感器擴展板上添加傳感器就如同搭積木一般簡單,套件中的傳感器也都是使用防插反接口,可以盡量幫您避免由于插接錯誤造成的產(chǎn)品損壞,在應用手冊中,奧松機器人為您提供了豐富的內容,從Intel Edison初識到上手,分別介紹了Intel Edison的硬件接口、軟件架構、如何開始使用你的Intel Edison開發(fā)板;編程語言方面,我們?yōu)槟v解了Arduino編程語言和python編程語言;例程方面,為您提供了12個精選例程,從基礎實驗的數(shù)字傳感器控制、舵機控制等到互動實驗的火焰報警器、防盜系統(tǒng)、不讓摸的傳感器等,還有擴展部分的實驗,讓您通過網(wǎng)頁訪問Intel Edison,實現(xiàn)智能家居的制作。通過這一系列的學習,您可以掌握Intel Edison的基本應用、Arduino編程語言、Python編程語言、智能家居的入門應用。您還在等什么?開始用Intel Edison智能硬件開發(fā)套件來實現(xiàn)您的idea吧!

Intel Edison 硬件參數(shù)

  1. 體積:35.5 * 25 * 3.9 mm
  2. 低功耗:一般情況下電流消耗不超過 200mA,WiFi傳輸數(shù)據(jù)時,尖峰電流可能達到 600mA
  3. CPU:500MHz雙核,雙線程 32bit Atom處理器,100MHz Quark 處理器
  4. 內存:1GB LPDDR3 POP memory
  5. Flash 存儲:4GB
  6. IO:40 個 GPIO
  7. WIFI/藍牙:Broadcom BCM43340 a/b/g/n + bluetooth4.0
  8. USB:2.0 OTG * 1
  9. 輸入電壓:3.15V - 4.5V
  10. DC 接口輸入電壓: 7V - 15V 直流、內正外負
  11. 時鐘:19.2MHz,32KHz

產(chǎn)品清單

  1. RB-01C015A Arduino XBee Sensor Shield * 1 個
  2. RB-02S005A LED發(fā)光模塊(紅色) * 1 個
  3. RB-02S032A 按壓式大按鈕模塊 * 1 個
  4. RB-02S031A 蜂鳴器發(fā)聲模塊 * 1 個
  5. RB-02S024A 旋轉角度電位計傳感器 * 1 個
  6. RB-02S084A 模擬聲音傳感器 * 1 個
  7. RB-02S025A 大功率繼電器模塊 * 1 個
  8. RB-02S019A LM35線性溫度傳感器 * 1 個
  9. RB-02S022A 火焰?zhèn)鞲衅?/a> * 1 個
  10. RB-02S081A 觸摸傳感器 * 1 個
  11. RB-02S047A 土壤濕度傳感器 * 1 個
  12. RB-02S091 高精度光線傳感器 * 1 個
  13. RB-02S017A 紅外熱釋電傳感器 * 1 個
  14. RB-02S087 振動馬達模塊 * 1 個
  15. RB-04M042 RB - 15PG 舵機 * 1 個
  16. RB - 06L040 Micro USB 數(shù)據(jù)線 * 2 個
  17. RB - 10P032 12 V 1A適配器
  18. RB - 09M247 Intel Edison開發(fā)板雙色亞克力外殼
  19. RB - 12C229 單頭放插反 3P 連接線 * 10 條
  20. 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
進入官網(wǎng),點擊如下所示位置,可以進入Intel Edison使用的所有文件下載界面,注意根據(jù)您電腦的系統(tǒng)選擇相應的版本進行下載。

13K16402.png

Arduino 基本語言

從眨眼的LED開始

  • 【功能】

程序要實現(xiàn)的功能是外接的LED小燈點以一定的頻率閃爍。這個程序是學習Arduino IDE的第一步。千里之行,始于足下,讓我們開始吧!

  • 【硬件】

LED是發(fā)光二極管的英文縮寫。它可以發(fā)出不同波長的電磁波,我們的產(chǎn)品發(fā)出的紅色的可見光。

13K024A02.png

硬件連接還是比較容易的,首先把擴展板卡合到主控板的上方,注意此連接方法是唯一的,如果位置卡合錯誤可能會造成主板損壞!

13K16403.png

要實現(xiàn)LED閃爍的效果,我們只需要LED電子模塊即可,我們看到電子模塊上帶有標記D,說明是數(shù)字的(digital)傳感器,因此使用3P線將其連接到擴展板。注意通常不使用D0、D1和D13。因為D0和D1在程序上傳時不能被占用,D13內置了1KΩ的電阻,默認連接了板載的L小燈,常用作測試。本案例中把LED連接到D7。

13K16404.png

注意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
發(fā)布時間:  2016-03-23
創(chuàng) 建 人:  Neil
版 本 號:  1.0 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源	
           哈爾濱奧松機器人科技有限股份公司保留所有版權   
***********************************************************/
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
發(fā)布時間:  2016-03-23
創(chuàng) 建 人:  Neil
版 本 號:  1.0 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源	
           哈爾濱奧松機器人科技有限股份公司保留所有版權   
'''
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初始狀態(tài)
# 循環(huán)執(zhí)行下面的語句
while True:
    if ledState == False:
        blinkLed.write(1)
        ledState = True        
    else:
        blinkLed.write(0)
        ledState = False
    print "LED is on? \nAns: %s" %(ledState) # 打印LED狀態(tài)
    time.sleep(1) #延時1s

精選例程

火焰報警器

  • 【功能】

程序要實現(xiàn)的功能是使用Intel Edison連接火焰?zhèn)鞲衅?、蜂鳴器模塊、LED發(fā)光模塊,通過火焰?zhèn)鞲衅鞯臋z測,在有火焰時,會有報警聲同時伴隨報警燈。

  • 【硬件】

火焰?zhèn)鞲衅鞯膶I(yè)稱呼應為光電二極管。光電二極管利用雜質半導體的性質制成PN節(jié),從而對特定波長的電磁波敏感。光電二極管工作在反向電壓下,在正向電壓下也能導電,但是效果非常差。

13K024A06.png

我們在“人體紅外報警器”便知道具有溫度的物體可以發(fā)射紅外線。火焰溫度更高,當然也會發(fā)出紅外線,但是和人體發(fā)出紅外線的波長不同。火焰發(fā)出紅外線的波長在大自然中并不常見,但是它依然會受到人體、陽光等因素的影響。該電子積木和紅外熱釋電傳感器類似,我們也可以用紙繞成圈后套在傳感器上以減少干擾。
將蜂鳴器模塊連接到Xbee Sensor Shield數(shù)字8引腳(D8),LED發(fā)光模塊連接到Xbee Sensor Shield數(shù)字5引腳(D5),火焰?zhèn)鞲衅髂K連接到Xbee Sensor Shield模擬0引腳(A0)。

13K16405.png
  • 【軟件】

打開Arduino IDE,編寫并上傳如下程序:

/***********************************************************
哈爾濱奧松機器人科技股份有限公司  RobotBase  www.robotbase.cn
目    的:  火焰報警器
應用硬件:  Intel Edison控制器
應用軟件:  Arduino IDE 1.6.8
發(fā)布時間:  2016-03-23
創(chuàng) 建 人:  Neil
版 本 號:  1.0 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源 
           哈爾濱奧松機器人科技有限股份公司保留所有版權   
***********************************************************/
#define flame A0 //定義火焰?zhèn)鞲衅饕_
#define buzzer 8 //定義蜂鳴器引腳
#define LED 5 //定義LED發(fā)光模塊引腳
void setup()
{
//初始化引腳輸入輸出模式
  pinMode(buzzer,OUTPUT);
  pinMode(LED,OUTPUT);
  Serial.begin(9600);
  }
  void loop()
  {
//循環(huán)讀取火焰?zhèn)鞲衅鞯闹?,并通過串口打印
    int x = analogRead(0);
    Serial.println(x);
    delay(100);
    if(x>300) 
    {
//如果火焰?zhèn)鞲衅鞯闹荡笥?00,則蜂鳴器報警同時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
發(fā)布時間:  2016-03-23
創(chuàng) 建 人:  Neil
版 本 號:  1.0 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源 
           哈爾濱奧松機器人科技有限股份公司保留所有版權   
'''
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) #讀取火焰?zhèn)鞲衅鞯闹?	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 網(wǎng)頁控制 LED

  • 【功能】

通過網(wǎng)頁按鍵控制LED燈的亮滅。(使用Arduino進行控制)

  • 【硬件】

將LED發(fā)光模塊連接到 Xbee Sensor Shield擴展板數(shù)字9(D9)接口。

13K16406.png
  • 【軟件】

打開Arduino IDE,編寫并上傳如下程序:

/***********************************************************
哈爾濱奧松機器人科技股份有限公司  RobotBase  www.robotbase.cn
目    的:  通過網(wǎng)頁控制LED 
應用硬件:  Intel Edison控制器
應用軟件:  Arduino IDE 1.6.8
發(fā)布時間:  2016-03-23
創(chuàng) 建 人:  Neil
版 本 號:  1.0 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源 
           哈爾濱奧松機器人科技有限股份公司保留所有版權   
***********************************************************/
#include <SPI.h> //包含頭文件
#include <WiFi.h>
char ssid[] = "123";//要連接的WiFi名稱     
char pass[] = "12345678";//WiFi密碼   
int keyIndex = 0;                
int status = WL_IDLE_STATUS;//定義一個變量,用來保存網(wǎng)絡連接狀態(tài),初始化為未連接
WiFiServer server(8080);//定義一個服務器的對象,端口號8080
void setup() {
  Serial.begin(9600);      
  pinMode(9, OUTPUT);
  //嘗試連接WiFi網(wǎng)絡,如果未連接成功,則不斷嘗試      
  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);//獲取網(wǎng)絡名稱                 
    status = WiFi.begin(ssid, pass);
    delay(10000);//等待10s,嘗試下一次連接
  } 
  server.begin();//啟動服務,監(jiān)聽8080端口                          
  printWifiStatus();  
}                    
void loop() {
  WiFiClient client = server.available();//監(jiān)聽8080端口是否有客戶端發(fā)送請求  

  if (client) {
    //如果監(jiān)聽到客戶端的請求
    //通過串行顯示說有新的客戶端                            
    Serial.println("new client");
    //定義一個字符串來保存這些請求信息           
    String currentLine = "";               
    while (client.connected()) {           
      if (client.available()) { 
        //讀取信息并將信息通過串行通信顯示在串口監(jiān)視器中           
        char c = client.read();             
        Serial.write(c);                   
        if (c == '\n') {                 
          if (currentLine.length() == 0) {  
            //如果當前字符串長度為0,又收到了換行則說明請求發(fā)送完成
            //發(fā)送網(wǎng)頁信息
            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://gharee.com/images/upload/image/20150525/20150525132053_29091.jpg\" />");
            client.println();
            break; //發(fā)送完成后,跳出循環(huán)        
          } 
          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);
}

產(chǎn)品相關推薦

Erweima.png

產(chǎn)品購買地址

[ 基于Intel Edison智能硬件開發(fā)套件]

周邊產(chǎn)品推薦

SparkFun原裝進口 Block for Intel Edison 9軸姿態(tài)傳感器 擴展板
Intel? Edison Console USB-TTL擴展板 開發(fā)板 Sparkfun原裝進口
Sparkfun原裝 英特爾 Sparkfun Block for Intel Edison 液晶擴展
SparkFun原裝進口 Interface Pack for Intel? Edison 擴展板
SparkFun原裝進口 Block for Intel? Edison 擴展板 Arduino擴展

相關問題解答

相關學習資料

Intel Edison 官方教程