Photo by Balázs Kétyi on Unsplash

這篇會教你刷機後軟體設定

開始前的準備事項:

  1. 下載 zControl
    a2633063/SmartControl_Android_MQTT 下載最新的 apk 回來安裝
  2. 2.4Ghz 的 WiFi

在刷機完後將悟空 M1 開機,這時可以在手機中掃描到名為 zM1_xxxx 的 WiFi 熱點

連上 M1 的 WiFi 後在瀏覽器中開啟 http://192.168.0.1

Android 可能會提示網際網路無法使用,讓它保持連線就對了


Photo by Sai Kiran Anagani on Unsplash

前篇提到中國有許多網友釋出了自製的韌體,如果你還沒看過的話連結在下方

在這篇教學中,我會刷 a2633063/zM1 的韌體作為示範

會選擇這版韌體的原因如下

  1. 作者有提供 Android app
  2. 這版韌體能將數據發送到自己的 MQTT 伺服器
  3. 看起來是刷機過程較簡單的一款韌體

值得一提的是數據雖然可以發送到自己的 MQTT 伺服器,但韌體本身沒有開源,所以對資安比較要求的朋友需要再三斟酌

刷機前除了上一篇提到的設備都買齊了之後,還需要準備下列這些項目

  1. 安裝 SecureCRT
    SecureCRT 支援 Windows、Mac 及 Linux,是付費軟體但可試用一個月,可在官網註冊下載
  2. 下載 a2633063/zM1 最新韌體
    找到並下載 zM1@MK3080B@moc.ota.bin,注意不是 moc …

還不知道悟空 M1 是台怎樣的機器的話,可以先看看上一篇的介紹

這篇會手把手教學如何刷機和提醒一些注意事項

Photo by Michael Dziedzic on Unsplash

準備事項

首先我們需要準備一些傢伙才能開始刷機

  1. 一台悟空 M1(廢話)
  2. USB to TTL
    建議選 CP2102 晶片,最好不要挑太便宜的,省下來的錢可能會反映在穩定性上
  3. 公對母杜邦線
    杜邦線建議買 15 公分左右,才不會卡來卡去不好刷機,一次可以買個 20~30 條才不會之後加工弄壞了無線可用
  4. 手機拆機工具
    拆機工具有很多種,必備的有吸盤(盡量挑大一點)、翹棒(或任何可以翹蓋子的工具)和小十字起子,像下圖的組合就夠用了

身為一個南部囡仔,關注 PM2.5 動態是再正常不過的事了

Photo by JuniperPhoton on Unsplash

一直以來都很希望找到一款心目中的 PM2.5 的偵測器,好讓我能隨時掌握空品狀態,我心目中一款好的偵測器定義是這樣:

  1. 至少要能測溫濕度+PM2.5
  2. 外觀設計要有水準,擺在家中看起來要爽
  3. 有連網功能或有 app ,出門在外也能知道家中狀態
  4. 最重要的是價格要低

這樣的需求看起來像是空集合對吧?

.

.

.

沒錯真的就是這樣(?)

試過用 Webduino 自幹或是這種低價的偵測器,但在有限的預算下,便宜的都不達標,貴的又買不下手(而且還很可能不合我的需求)

直到有天突然看見一款偵測器,螢幕大、外觀設計還不賴,不只能聯網還有 app 控制
而這樣的機器竟然只要幾百塊就能入手,這你敢信!?


Photo by Denise Jans on Unsplash

費了好一番功夫總算把小米手環4給找回來了,順手紀錄一下看能不能幫到跟我一樣搞丟手環的可憐蟲

首先,這篇文章假設

  1. 你的手環還有電
  2. 你知道大概遺失的位置
  3. 手環已經跟手機配對過,而且有綁定小米運動 app
  4. 你很缺買新手環的錢(無誤)

找手環的第一步就是打開小米運動 app,試著在可能遺失的地點繞一繞,讓手環跟手機連上線

在小米運動 app 中手環若有顯示剩餘電量就代表已經連線


Photo by Bharat Patil on Unsplash

怕你還沒看過上集還是先來個前情提要

上集解釋了 new Array() 與 [] 之間的差異,還有使用 new Array() 時要注意的地方

const ary = [undefined, undefined, undefined];ary.forEach(v => {
console.log(v);
});
// 印出三次 undefined
const ary2 = new Array(3);
ary3.forEach(v => {
console.log(v);
});
// 這裡卻什麼都沒印出來

這集就來好好解釋一下 forEach() 是如何運作的,為何上面這段程式沒有如我們想像的執行

Array.prototype.forEach() 如何運作?

要回答這個問題最好的方式就是直接看 ECMAScript 是如何實作 forEach() 的

首先我們到 …


Photo by Caspar Camille Rubin on Unsplash

前陣子在 JavaScript 群組看到一個很有意思的問題:

const ary = [undefined, undefined, undefined];ary.forEach(v => {
console.log(v);
});
// 印出三次 undefined
const ary2 = new Array(3);
ary2.forEach(v => {
console.log(v);
});
// 這裡卻什麼都沒印出來

這問題可以拆成兩部分

  1. new Array() 建立的到底是什麼?跟 [] 不一樣嗎?
  2. 為何 new Array(3) 執行 forEach() 不會印出三次 undefined?

礙於篇幅(對,我知道太長你們會直接 End),上集只會專注在解釋第一點,forEach() 的部 …


HTC 10 用了兩年多之後終於開始跟不上時代了

經過一連串的研究之後,我發現再不買三星的話以後蠻有可能只剩中國牌能買而已 Orz

之後還是決定捏緊 LP 訂了 S10,於是曾經打死不買韓貨的我終於也淪陷了,真香

之所以會把三星納入守備範圍是因為這樣的…

過年期間去了一趟燈會,無奈夜間加上發光燈體產生的高反差怎麼樣也拍不起來
這時路邊有個男的拿出了手機喀嚓一聲就完美拍下一切
旁邊的朋友:「你這照相怎麼這麼厲害!?」
這時他慢慢說出:「廢話,我這可是手機界的單眼」

雖然我也暗自震驚,但時至今日我還是覺得他們兩個是三星派去的工讀生

網路上開箱都開到爛掉了,我就直接寫些使用一週的心得吧
先說好這篇是我的個人心得,裡面全是強烈主觀意見,不想看可以先左轉了

缺點

缺點這麼重要當然要寫在前面

實機顏色不如廣告這麼美


一週沒皮夾?沒問題!

週一一大早就發現皮夾忘了帶回高雄,我也懶得特地為了皮夾跑回家,就順勢來實驗一週沒有皮夾能不能活得下去吧(也太順便)

快速地回顧一下皮夾裡比較重要的東西,大概有

  1. 身分證/健保卡
  2. 現金
  3. 信用卡/提款卡

很好,除了證件無可取代以外剩下都可以靠一隻手機搞定

下面就依照情境來看一下我是怎麼度過沒皮夾的一星期吧

證件

其實除了看醫生以外好像也用不太到證件,在路上乖乖的也不會被查證件

三餐

大部分(高雄)的店家還是以現金交易為主,手上一張鈔票都沒有的情況下還是只能乖乖去 ATM 報到了

我最常用的兩個帳戶 RichartMegaLite 都支援(跨行)無卡提款,沒鈔票?全靠無卡提款搞定 👌

老實說皮夾裡早就沒有半張提款卡了,加上我使用行動支付的比例也蠻高的,所以平常皮夾裡不只提款卡,連鈔票也都沒幾張 XD


當了這麼久的人體清淨機,總算趁著前陣子的雙11總算是把家中清淨機補齊了

在買 SA-2268DC 前遍尋不著這台的開箱跟評測,只好自己剁手寫開箱啦

補齊示意圖

雖然說是開箱,不過整篇大概是抱怨比較多一點(笑)

平常家中都是買網路上評價不錯的 Honeywell Console系列,價格親民耗材也不算貴。這次偶然間看到尚朋堂的 SA-2268DC

osk2

Just a geek.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store