2016年3月24日 星期四

Particle 動手做 - Electron 開箱及測試電池續航力


手邊一直有專案在忙,網誌荒廢了好一陣子
這次來分享一下預購了很久終於剛收到的好玩具,Particle Electron
最大賣點就是他可以透過3G電信網路將控制板連上網際網路
輕鬆的解決物聯網專案最核心的網路需求


其實Particle 之前已經出過Core和Photon這兩塊板子
Photon現在是我的物聯網專案主力,可惜一直沒有空幫他寫篇文
之後有空再補XD


首先開箱electron時不得不說有驚訝到,收到才發現原來electron是kit套裝
還以為會跟photon一樣是小小火柴盒



立刻迫不及待把東西都拿出來看有附了什麼


有附電池耶好酷XDDDDD
還有直接蓋在麵包版上的簡易專案教學小卡
教你用LED和光敏電阻做一個簡單的物聯網輸出輸入的範例專案


因為要開通電信服務,首先要進這網頁 https://particle.io/start

 選擇electron,然後點選setup my electron


接著就照網頁提示其實都很簡單


接著就把卡片上的小字ICCID填入

然後我就沒截到圖了,總之是選擇費率...
台灣硬是比人家貴了一大截,1MB 4.99USD/月,每超過1MB加收3.99USD
美國是1MB 2.99USD/月,每超過1MB加收0.99USD

....台灣在這種地方就很跟不上時代

刷卡繳費後他就會教你開始把electron接起來





立刻把SIM卡從卡片折下,插上electron底部的插槽




接上3G天線後再接上電池,沒過多久就成功的顯示為青藍色呼吸燈
代表成功連結至網際網路並連接上particle cloud

這就是particle產品的誘人之處,一切都是這麼的簡單直覺
完全不需要複雜的操作,機器就可以連上網路準備就緒讓你隨便玩



等過一陣子就可以在Dashboard看到他啦!




立刻打開Web build頁面把程式碼給刷進去


Web IDE會很好心的跟你說你確定要跟Photon一樣透過網路OTA程式碼嗎
這個動作是會花流量要花錢的

不過第一次就給他爽一下,直接FLASH OTA ANYWAY
速度相當快,不用幾秒electron就跟photon的方式一樣閃爍紫色的燈號

這次寫的程式碼是用來測試他的電池續航力
設定為10分鐘將電池電壓fuel.getVCell()和電池電量fuel.getSoC()的數字上傳到thingspeak



// This #include statement was automatically added by the Particle IDE.
#include "ThingSpeak/ThingSpeak.h"

//thingspeak設定

unsigned long myChannelNumber = 102303; //填入thingspeak channel ID ***必填
const char * myWriteAPIKey = "YJS6Z6U2765SXXXX"; //填入thingspeak API key ***必填

//無線網路設定
TCPClient client;

//電池設定
FuelGauge fuel;
float BatLv = 0;
float BatVo = 0;

//計時上傳
int LastTimeCheck = 0;
int BatUpdateTime = 0;
#define Bat_INTERVAL 600000

char BatMsg[60];

void setup() {
    
        Particle.publish ("Report", "Electron is online!");
        ThingSpeak.begin(client);

}

void loop() {
    
    
    if (millis() > BatUpdateTime) {
        
        BatVo = fuel.getVCell();
        BatLv = fuel.getSoC();
        sprintf(BatMsg, "Electron battery level: %.2f %%", BatLv);
        Particle.publish ("Report", BatMsg);
        ThingSpeak.setField(7, BatVo);
        ThingSpeak.setField(8, BatLv);
        ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
    
        BatUpdateTime = millis() + Bat_INTERVAL;
    }
    
  if ( millis() < LastTimeCheck ){
      BatUpdateTime = Bat_INTERVAL;
  }
  
  LastTimeCheck = millis();
}

測試前先把他充飽
只要同時接上電池和micro USB電源就會亮小紅燈表示在幫鋰電池充電
如果紅燈熄滅及代表充電完成



充飽後實驗開始!


過了整整24小時候得到下圖


電壓從3.9242V降到3.6127V

電池容量從81%降到13.1%

不確定是不是電池還沒完全活化的關係所以才從80%開始

有待進一步測試啦!

ps.有個疑問是我在dashboard上遲遲沒有看到data usage和bill的介面

從guild裡的超連結進去也只會看到一串一副好像不用擔心的文字說明
Billing & Usage

CELLULAR USAGE
*Kickstarter backers, don't worry! Estimated costs are not adjusted for your promotional pricing period. You won't be billed for your 1st MB of data use during the first 3 months after activation.

可是就算是前1MB免費好歹也讓我看一下用了多少吧XD

不知道最後會不會突然跟我說要繳天價帳單......

沒有留言:

張貼留言