399,752 total views, 272 views today

PHP – 並行處理

popen

應用場景為需要大量上傳 HTTP,一般迴圈處理依序需要浪費時間,如果沒有順序關係可以使用「並發」來完成。

使用起來很簡單,有侷限性,不過應用場景可以套用那程式就很簡單,類似這樣子

http_upload.php

190 total views, 23 views today

Nextcloud – APP 設定

下載

App 搜尋 nextcloud,找藍底三個白圈圈就是了

設定

流程

  1. 選擇「登入」
  2. 填寫 Nextcloud 主機網址,不需要輸入 https:// ,例如 Hoyo 的主機就是 pan.hoyo.idv.tw
  3. 輸入帳號、密碼
  4. 點選「Grant access」

設定

變更語系

  1. 使用網頁登入 (pan.hoyo.idv.tw)
  2. 右上角 → 設定
  3. Language → 選擇語系

變更密碼

  1. 使用網頁登入 (pan.hoyo.idv.tw)
  2. 右上角 → 設定
  3. 安全性 → 重新設定密碼,必須 10 個字母以上

49 total views, 2 views today

BLE Beacon 應用 – 結合台南市 iBeacon 收集遊戲可行性,以 Google Map 為例

成果

參考資源

台南市在路燈或是柱子讓綁了很多 Beacon 藍芽信標,多的很誇張,所以 Hoyo 就想套用到 Google Map 看一下到底都裝在什麼地方。

程式寫完之後才發現一整條路都有,如果開車整路採集信號應該有種瑪莉歐吃金幣的感覺,所以本來想寫一個採集收集的遊戲,可是還沒有完整的想法,就先作罷吧

程式碼

只是簡當的使用了 Google Map 的 Marker 標示功能

 

610 total views, 5 views today

Cordova Beacon – iBeacon, Eddystone, AltBeacon 一次搞懂

先確定手機有支援!

不是說藍牙 4.0 就一定有支援,因為 Beacon 使用的是 「低功耗」 模式所以最好還是上網查一下

什麼是 Beacon 以及有哪些種類?

 

Beacon 應用

開發前準備工具

  • Beacon Simulator Android 裝這個 APP 可以讓手機模擬成 Beacon 裝置,支援 iBeacon, AltBeacon, Eddystone 多種 Beacon 訊號
  • nRF Connect for Mobile 可以搜尋身邊所有雜七雜八的訊號源

iBeacon

其實 iBeacon 就只是規範了格式內容

Eddystone

UID

URL

TLM

cordova-plugin-ble : iBeacon

 

 

PHP 解譯

  1. 4c00021 是 Apple 規定的 iBeacon 開頭,藉以辨別是否為 iBeacon 裝置
  2. 5537b618cc64e471c8bbdd6ed8c757ccd 為 UUID
  3. 0000 是 Major ID ,視情況轉為 10 進制
  4. 0000 是 Minor ID ,視情況轉為 10 進制
  5. bf 是 Tx Power 將 16 進制轉 10 進制之後,用 256 減一下加上負號就完成了

 

 

cordova-plugin-ble : Eddystone UID

Json 可視化

一樣將

URL

 

TLM

 

EID

 

AltBeacon

室內微定位應用

實際測試也是如此,RSSI 數值非常容易受到影響,要拿來做精準的定位應用是不現實的

例如室內尋寶就還是無法實現,在 WiFi 時代就在想這件事情,多年後的現在 (2018 年) 還是無法實現

 

 

53 total views, no views today

Google Apps 自救 – 05 匯入 MBOX

Mozilla Thunderbird +

使用此方案可將 mbox 匯入到「本地」上,因為要跨裝置所以這種本機方案就不可行,要找 Server 的解決方案

Mbox 轉 MailDir

現在的 Mail Server Postfix 郵件儲存的格式都是 MailDir 所以 Google 匯出的 Mbox 格式需要轉換,其實只是把信件拆開,秉著不造輪子的想法在網路上找了一圈,就是找不到可以用的轉換程式,明明就沒有很難,只好自己寫了一個

因為判斷間隔方法因素,必須把下一封信的 From 刪除,本來使用的方式是使用換行轉成陣列,再使用 array_pop() 的方式,考慮到超大資料有可能會讓記憶體爆炸所以換了一個方式

mbox2maildir.php

用法

切換到使用者的 maildir cur 目錄,再執行

結果大概就是長這樣

使用 array 刪除最後行的方式

363 total views, 1 views today

Graphviz – chart

用於繪製DOT語言指令碼描述的圖形

CentOS 安裝

缺少中文

CentOS 7

一個簡單範例

a.dot

執行 .dot 並產生 PNG 圖檔

內含中文範例

圖表類型

  • graph 為無向圖,使用 — 連接 node
  • digraph 是有層次,使用 -> 連接 node

Node 屬性

對所有 Node 定義預設格式

邊界

字型

組織圖

43 total views, 1 views today

Google Apps 自救 – 04 想盡辦法繼續蹭 Google

先說結論

在後面的 mbox 還原資料的測試後發現,大量寄信給 gmail 會被當作發廣告信而被封鎖,所以無法蹭 Google 只好自己架設 Mail Server

參考資源

方案是將信件轉到 @gmail.com,讓 Gmail 來過濾信件,就可以保持原先的使用習慣

MySQL

為了方便使用,所以轉信的設定還是希望可以在資料庫維護

建立資料表

設定

將 alias 關係設定到 MySQL 資料庫

/etc/postfix/main.cf

/etc/postfix/mysql-aliases-maps.cf

重新啟動服務

設定轉信

在資料庫內新增一筆這樣子的資料就可以將信件轉到 @gmail.com

64 total views, no views today

OpenWRT – 旁路由

參考資源

支援硬體

成果

192.168.0.1 是主要路由器,原先使用 192.168.0.1 上網,行動裝置因為瀏覽器沒有 uBlock 去廣告,所以將閘道設定到 192.168.0.2 OpenWrt 的旁路由,OpenWrt 安裝 Adblock 達到基本去廣告功能。

此去廣告的功能可以將 APP 上的廣告有效去除,可是遊戲內看廣告拿獎勵的功能也會失效,因為家裡不是所有人可需要這個功能,所以使用這種模式自己選擇。

預設帳號、密碼

192.168.1.1
root
沒有密碼

設置 DNS

Network → Interfaces → Edit → Advanced Settings → Use custom DNS servers

軟體安裝

系統 → Software → Update lists

 

中文介面

網頁重新整理就是中文

luci-i18n-* 其他翻譯

Web terminal

WebCam

網路設定 – uci

有時候會遇到從網頁設定無法儲存的問題,這時候可以使用下指令嘗試

應用

Hoyo 整理

  • 網路總機
  • MariaDB
  • PostgreSQL
  • SMTP
  • PHP 7 & 8
  • Postfix
  • python3
  • Redis
  • Ruby
  • Samba
  • VPN
  • Subversion
  • Tesseract
  • vsftpd
  • youtube-dl

Adblock

luci-i18n-adblock-zh-tw

OpenWrt 選單會多一個 Services,就有 Adblock 選擇,沒有的話請重新開機

開機後 adblock 啟動需要時間,實測需要 2 分鐘以上

NanoPi Neo2

使用 Debug Port 可以操作終端

57 total views, 1 views today

Ubuntu – USB WiFi

參考資源

啟動 USB WiFi

掃描 AP

安裝 wpa_supplicant 實現 WPA 認證

掃描可連接 SSID

掃描 SSID 加上訊號強度

產生連線文件,不加密碼 Enter 後輸入

連接 AP

確認連接狀態

取得 DHCP IP

101 total views, no views today

Arduino – Queue

安裝

管理程式庫 → 搜尋 cqueue → 安裝

SimpleQueue.ino

小改應用

  • typedef struct 宣告佇列結構
  • 使用前記得 Rec rec 宣告
  • q_pop 判斷佇列是否為空
  • 結構元素可以少給不能多給

305 total views, 1 views today