2019年9月4日 星期三

FB設定搶先看的方式


設定搶先看的兩種方式


A1. 先到我家的日常粉絲團按下…(紅框處)





A2. 按下追蹤中(紅框處)



A3. 按下搶先看(紅框處)



A4. 完成!!!




另一種方式


B1. 在自己的FB首頁按下圖紅框處




B2. 選擇粉絲專頁(紅框處)



B3. 看到先前按過讚的粉絲團如我家的日常」,選擇…(紅框處)



B4. 設定搶先看我家的日常 實作 親子 共學」就完成囉!






2019年8月24日 星期六

我家的日常教學講義

FB說我一次太大量傳送message訊息給陌生人

再這樣就就封鎖我的message T T

其實是在傳"我家的日常"講義

沒辦法,只好麻煩各位好朋友在這兒下載了


或是加入我們吧

2019年8月2日 星期五

均方誤差(Mean square error,MSE)

這次和一群好友一起挑戰百日機器學習

太久沒寫python,第一天腦袋轉不過來記錄一下

回歸常用的損失函數: 均方誤差(Mean square error,MSE)

是各測量值誤差的平方和取平均值的平方根(均方根誤差的平方)


使用sklearn
from sklearn.metrics import mean_squared_error
y_true = [3]
y_pred = [2.5]
mean_squared_error(y_true, y_pred)


使用函式
import numpy as np

def MSE(forecast, prediction):
 
        mse = np.mean((y - y_pred)**2) 
   
        return mse
   
print (MSE(3,2.5))

2019年6月6日 星期四

Linkit7697連不上MCS (無限Reconnect) 改為 Linkit 7697連ThingSpeak


這篇算是測試Linkit7697的極短文(也沒多短! 每次寫技術文廢話都一堆! XD)

主要是發現7697MCS連線的時候,有時會連不上去,一直出現Reconnect

我原本用Mac Air,改為Windows,發現問題還是一樣!

結果是換了一個WiFi Router才好

Google後,發現有些使用者也有這種問題

嘿嘿! 那我想應該是碰到防火牆階層無法穿透的問題了

IoT在台灣要發光發熱前,應該是5年前了(遠目)

我跟一間台灣的軟體供應商聊過這個問題,他們叫作穿牆打洞的技術

先來用大家熟知的IP Camera來說明好了,當你的手機要看到你家的IP Camera

動作流程大致上像這樣

1IP Camera要連上WiFi Router
2WiFi RouterCloud Server建立連線
3Cloud Server找到你的手機
4、相親成功,IP Camera與手機自己來個P2P親密連線

但是啊! P2P不能打通所有的NAT,有些是非常難穿透的

這時會有一個Relay Server,當P2P穿不過,就把IPC的影像丟到Relay Server

手機再去Relay Server撈資料

如果上面你看的懂的話,那就會發現MCS應該是碰到穿不了牆洞打不開的事兒了

所以呢! Code改寫一下

Maker圈內,免費的Cloud一哥是誰?

ThingSpeak!

怎麼註冊就不寫了,網上一堆ESP8266的教學文

但我發現居然沒有Linkit7697連上ThingSpeak的教學文

這篇可能是頭香啊!

廢話不多說,馬上貼出修正的Code

#include <LWiFi.h>

char ssid[] = "你的WIFI帳號";      //  your network SSID (name)
char pass[] = "你的WIFI密碼";  // your network password (use for WPA, or use as key for WEP)
int keyIndex = 0;               // your network key Index number (needed only for WEP)


#define HOST    "api.thingspeak.com" // ThingSpeak IP Address: 184.106.153.149
#define PORT    80

String GET = "GET /update?key=你的API KEY";

int status = WL_IDLE_STATUS;
// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
//IPAddress server(117,185,24,248);
char server[] = "api.thingspeak.com"; 

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
WiFiClient client;

void setup() {
    //Initialize serial and wait for port to open:
    Serial.begin(115200);
    while (!Serial) {
        ; // wait for serial port to connect. Needed for native USB port only
    }

    // attempt to connect to Wifi network:
    while (status != WL_CONNECTED) {
        Serial.print("Attempting to connect to SSID: ");
        Serial.println(ssid);
        // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
        status = WiFi.begin(ssid, pass);
    }

    int h = 123; //自已隨便寫濕度
    int t = 225; //自已隨便寫溫度
  
    Serial.println("Connected to wifi");
    printWifiStatus();

    Serial.println("\nStarting connection to server...");
    // if you get a connection, report back via serial:
    if (client.connect(server, 80)) {
        Serial.println("connected to server (GET)");

        Serial.print( "Humidityh: " );
        Serial.print( h );
        Serial.print( ", Temperature: " );
        Serial.println( t );

        String getStr = GET + "&field1=" + String((int)t) +
                              "&field2=" + String((int)h) +
                              " HTTP/1.1\r\n";;
        client.print( getStr );
        client.print( "Host: api.thingspeak.com\n" );
        client.print( "Connection: close\r\n\r\n" );
       
        delay(1000);

       // if there are incoming bytes available
       // from the server, read them and print them:
          while (client.available()) {
              char c = client.read();
              Serial.write(c);
              }
    }
}

void loop() {


    // if the server's disconnected, stop the client:
    if (!client.connected()) {
        Serial.println();
        Serial.println("disconnecting from server.");
        client.stop();

        // do nothing forevermore:
        while (true);
    }
}


void printWifiStatus() {
    // print the SSID of the network you're attached to:
    Serial.print("SSID: ");
    Serial.println(WiFi.SSID());

    // print your WiFi shield's IP address:
    IPAddress ip = WiFi.localIP();
    Serial.print("IP Address: ");
    Serial.println(ip);

    // print the received signal strength:
    long rssi = WiFi.RSSI();
    Serial.print("signal strength (RSSI):");
    Serial.print(rssi);
    Serial.println(" dBm");
}
然後你可以看到HTTP Request的輸出(看到OK就對啦!)


然後去ThingSpeak看一下,果真有資料丟上來


當初做Simple Care從ESP8266轉去Linkit7697

居然從2017之後就沒在玩ThingSpeak了!

後來Simple Care的室內定位也完成了
(現在還有更先進的mmWave,ROS就有空再玩囉~)

回到正題,有沒有發現換個Cloud就沒問題了

MCS也是有穿牆打洞的問題,畢盡是免費的嘛!

看樣子要威脅到免費Cloud一哥還是需要一些時間

發哥如果當初買下那間專做穿牆打洞軟體商就沒事囉

有沒有發現我愈來愈少寫教學文,因為都做實驗影片啊!

快來跟我們一起玩吧 --> 我家的日常


註:我不是科學家,影片中的小朋友才是!


2019年3月23日 星期六

動手做系列 - 康達效應 (Coanda Effect)


康達效應(Coanda Effect)是指流體流過具有彎度的凸表面時,會被表面吸附的現象,具體實驗過程請看以下影片




台灣的學生比較怕錯,因為錯了可能會被釘在牆上


之前還看過老師霸凌學生的新聞,老師霸凌比同儕霸凌還可怕呢!

小的在業界帶新人的時候,其實完全不怕他們犯錯,而是希望他們找出更多的錯誤

在小弟還是菜鳥的時候,曾經燒毀過一台200萬的網路分析儀

帶我的主管說,沒關係,知道錯誤就好


好在公司維修只要15萬上下(RF模組壞了)

當下心臟漏了好幾拍,但也學習到每一次的測試手法都需要仔細驗證

主管在乎團隊人員有沒有學到東西,比網路分析儀被燒掉還重要,這也奠定我之後帶人的基礎

一直很想在家帶著小孩實際動手做一些實驗,看看除了外面相同的同捆包外,可否激發小朋友與家長的想法

而這一篇,其實是由之前為南科寫ROS的文章衍生而來(但跟ROS完全無關)

內文提到-> 當了解原理,就可以動手自製,不需要讓別人來餵食

有沒有發現高度現代化的城市人,尤其活在台北市的伙伴們

因為取得容易,直接拿懶人包使用最快,後來都被商人所豢養

前面提到RF,就想到還是大學生的時候看了某某週刊 -> 沒有研究所學歷,你就沒有競爭力

後來去當兵快退伍,又看了某某週刊說 -> 現在最熱門的工作是RF工程師

因為某某週刊,我不小心有了研究所學歷與RF經歷

工作一段時間,某某週刊又說 -> 你還沒有PMP證照嗎?

前幾年又看到某某雜誌說最性感的工作 -> 資料工程師

所以很不小心地,就當了PM與得到CourseraHadoop/Spark課程認證

後來發現近幾年許多新進人員不太懂RF,發現RF LOW掉了,原來某某週刊正全力主推AI


雖然小弟在社群也有小玩AI! 但不想讓自己的小孩也跟我一樣,思考被他人豢養

之前也看了某教授的一篇文章 -> 一切都是商業計劃,機器學習原理停留在20年前!

離開學校這麼久,居然會覺得現在媒體所說的AI,怎麼會有些似曾相似


其實某某週刊的洗腦能力與滲透力挺不錯,深入了解會發現整本就是有前因後果堪比藍色蜘蛛網的高級廣告刊物

我絕對不會告訴在看這篇文章的讀者是什麼週刊 (.jpg)

但與國外工程人員交流後,網路上的這張圖可以說明一切



後來有看到對岸在網路上發文詢問,擔心國小三年級的小朋友是不是太晚學AI

但是當技術變成工具,而工具變成統計的數據(分數)時,學習開始變得乏味

如同樂團的歌詞 -> 把天賦換算成分數,讓自我變普世價值的竉物

所以我開始在家與小朋友做一些實驗,期間也把動手做的內容剪成影片

順便也看看自己的家庭教育是否有可改進的地方

首先是做了四個的烘焙原理實驗,小朋友對於動手做食材都很有興趣

先有興趣,知道我們是在玩,再了解為什麼

從開始玩到學習原理,這個流程我覺得挺有教育意義

(剩最後一支影片還沒剪,剪完就跟大家分享文章)

後來開始在準備做影片前的備料,小朋友都很開心的坐好,準備大玩特玩

康達效應影片是烘培原理實驗之後拍的,但我先寫了這篇心得文章

而飛機的原理就是這樣來的(但其實3分鐘很難完整講完更進一步的流體力學等等...)

那如果用水流與微小氣流,有沒有辦法在家做出實驗呢?

結果實驗是成功的,也讓小朋友了解基礎原理,而且還玩得很開心

重點在遊戲還能學習,而且還能增進親子關係

如果看了這篇文章的家長,可能會認為,這些太專業,我都不知道要怎麼教小孩了!!!

沒關係~可以教家長所學,或是分享平常工作內容

我們家睡覺前,有時小弟會分享今天專案碰到的問題與溝通方法

也會問問小朋友,如果你遇到了會怎麼做

畢竟你終究要出社會的,為什麼不一開始就學?


而這些影片的內容其實是小弟平常在分析專案用的手法

可以說科學/科技類就是我的專業,小朋友對沒碰過的東西都很有興趣

家庭教育是一切的基礎,如果大家都這麼教,願意一同分享

就跟MakerPro的大大一樣願意分享文章,那應該會少很多家庭暴力的新聞案件

希望這篇文章能給大家有不同的角度去思考,也希望大家的肉圓都可以加到辣醬 ^ ^


也來發表你的看法吧 -> 我家的日常


FB設定搶先看的方式

設定搶先看的兩種方式 A1. 先到我家的日常粉絲團按下 …( 紅框處 ) A2. 按下追蹤中 ( 紅框處 ) A3. 按下搶先看 ( 紅框處 ) A4. 完成!!! 另一種方式 ...