2016年6月12日 星期日

NuBrick -- Android App Setup Env.

1. download 相關source code : 牛臥堂
2. 安裝Android Studio, JDK







3. 裝好後,把剛剛NuBrick抓的code, 解開APP的Source code
SW_NuMakerBrick_V1.2.zip\SW_NuMakerBrick_V1.2\NuMakerBrick_APP



Android studio去開啟Project, 選到\nubrickapp
















4. 開起來之後,會有Error






解法參考 Stackflow
開啟nubrickapp\gradle\wrapper\gradle-wrapper.properties
    修改
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip





 
修改nubrickapp\build.gradle
classpath 'com.android.tools.build:gradle:1.5.0'





Don't click Sync Now
From menu choose File -> Invalidate Caches/Restart...
Choose first option: Invalidate and Restart
Android Studio would restart. After this, it should work normally
5. 重開後,新的Error





MENU > Tools > Android > SDK Manager
把Android 5.1 (Lolipop) 22 打勾, Apply, 接下來會安裝API Lv22的SDK
裝好後,MENU > Build > Clean Project
會有另外一個Error, 找不到Build Tool 22.0.1, 提示框有Install的按鈕, 按下去裝
裝好後,MENU > Build > Clean Project  這次會跑比較久

這樣應該就可以Build了

Build tool可以看
1. C:\Users\USERNAME\AppData\Local\Android\sdk\build-tools

2016年6月7日 星期二

Source Insight 設定

1. 背景顏色--豆沙綠(C7EDCC, 199, 237, 204)
    Options->Preferences->Color->Window Background
2. 等寬字體
     Options->Document Option->Screen Font = Consolas
3. 將tabr鍵改為多格空白
    Options->Document options
      a. 先打勾Expand tabs
      b. 裡面的editing options群組有 Tab width
        利用這個可以更改tab為多格空白


4. 建立project時,添加特定類型的文件(文件類型過濾器)
    Options->Document Options裡面,的File filter裡可以改(;*.cpp)

5. 增加快速註解Macro
Project/Open Project...
打開Base Project("我的文件/Source Insight/Projects/Base"中);
Project/Add and Remove Project Files...
加入Macro文件(即utils.em);
Options/Menu Assignments
打開Menu Assignments視窗,在Command中輸入Macro,選中要使用的Macro,添加到合適的選單中.
推薦使用的Macro:Comment、InsFileHeader、InsFunHeader、InsHeaderDef、InsIfdef和AutoExpand (為代碼自動補全功能,建議建快捷鍵)。

2016年5月29日 星期日

NodeMCU v2 - 2. 上傳資料到Thingspeak with Lua script

參考這邊 - POSTING TO THINGSPEAK WITH ESP8266 AND NODEMCU

1. 先下載 NodeMCU studio, 主要是用來上傳Lua script到板子上
2. 插入板子到NB, 開啟NodeMCU studio
3. 按下重新整理, 確認有沒有掃到COM port, 掃到後按上連接
4. 把下方的code, 存成Test.lua, 編輯SSID/密碼/Thingspeak API, 然後再NodeMCU studio開啟這個檔案
5. 按下上傳, 這時候會把剛剛開啟的Test.lua上傳到NodeMCU
6. 按下執行, 這邊會先列出板子上有的script, 然後彈出視窗看要執行哪一個
7. 接下來就會一直上傳電壓到Thinkspeak了



Source code is referenced from - POSTING TO THINGSPEAK WITH ESP8266 AND NODEMCU

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
wifi.setmode(wifi.STATION);
wifi.sta.config("SSID" ,"WIFIKEY");
 
function postThingSpeak(level)
    connout = nil
    connout = net.createConnection(net.TCP, 0)
 
    connout:on("receive", function(connout, payloadout)
        if (string.find(payloadout, "Status: 200 OK") ~= nil) then
            print("Posted OK");
        end
    end)
 
    connout:on("connection", function(connout, payloadout)
 
        print ("Posting...");
 
        local volt = node.readvdd33();     
 
        connout:send("GET /update?api_key=CHANNEL_API_KEY&field1=" .. (volt/1000) .. "." .. (volt%1000)
        .. " HTTP/1.1\r\n"
        .. "Host: api.thingspeak.com\r\n"
        .. "Connection: close\r\n"
        .. "Accept: */*\r\n"
        .. "User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n"
        .. "\r\n")
    end)
 
    connout:on("disconnection", function(connout, payloadout)
        connout:close();
        collectgarbage();
    end)
 
    connout:connect(80,'api.thingspeak.com')
end
 
tmr.alarm(1, 60000, 1, function() postThingSpeak(0) end)

在Raspberry Pi 2B上跑Docker, AdguardHome, Bitwarden, RPi-Monitor

在Raspberry Pi 2B上跑Docker, AdguardHome, Bitwarden, RPi-Monitor 請先參考前置準備工作 安裝Raspberry Pi 2B 來跑docker 前置準備 安全性考量, 移除預設pi帳號 Ref :     h...