52,639 total views, 141 views today

CertOS – Git Server & PhpStorm 8.0.3

初次使用時,指令的使用查詢相當容易,反而 Hoyo 覺得建立本地、主機端不同的操作及觀念才是更重要的

Git Server 安裝、設定

安裝、建立 ssh 上傳帳號

建立版本管理目錄初始化

PhpStorm 8.0.3

VCS → 從版本控制中檢出 → Git

Git Repository URL 填入 Git Server 帳號@網址:目錄路徑

上傳更新可以使用 Ctrl + Shift + K 快速鍵進行 Push 動作

remote: error: insufficient permission for adding an object to repository database ./objects

Git Server 目錄檔案無權限,檢查是否將 git 帳號擁有權授權給 git 目錄

552 total views, 2 views today

ESP8266 應用一:智能插座 .4 ACS712 交流電流偵測

事前叮嚀:

  1. 電流偵測在搜尋資料時,請先確認該應用場合是直流還是交流?交流是正弦波,對於量測並不是直接取一次樣就可以搞定
  2. 目前看到網路影片資料,極大多數都沒有查看 datasheet ,在最大值輸出電壓全部都是錯的,5A 只到 3.5V,20A 30A 也只到 4.5V,所以計算公式全是錯的
  3. ACS712 只能使用 5V ,輸出自然也是 5V ,ESP8266 當然不支援,網路上看到可以使用電平轉換或是電阻分壓的方式接入,不過為了更精準的量測最後決定升級成「雙核」版本,使用 Arduino UNO + ESP8266 來達到 ACS712 + WiFi 的目的
  4. 有看到搭配 ADS1115 的使用方式,沒使用過不確定效果

什麼是 ACS712

簡單說就是,一顆測量電流後轉換成電壓大小的 IC ,根據電壓大小即可換算用電

應用硬體線路

 

 

Datasheet 對於量測後輸出電壓的解釋

ACS712 有三個型號 5A, 20A, 30A 我們就看 5A 和 30A 就好了

先看 5A 的

當 Vcc 為 5V 時,輸出 2.5V 為 0 負載,滿負載是 3.5V

然後是 30A 的

一樣 Vcc 為 5V 時,2.5V 為 0 負載,滿負載 30A 時為 4.5V

無論哪個型號,輸出電壓結果都是線性的,換句話說就是可以直接把 「輸出電壓 – 2.5」 然後和極限電壓來做簡單的計算即可得到真正的負載電流

接上 Arduino 的情況

當我使用一顆 ACS712 30A 的偵測器時,接到 A0 的類比腳位,0 負載時理想值是收到 511 左右的值,這是因為 ACS712 0 負載時會輸出 2.5V 的電壓

換句話說,如果使用 30A 這顆 IC 的話,那就只能得到 408 ( (1024/5) * (4.5-2.5) = 408 ) 個取樣,每個取樣為 0.074A,接到 110V 交流電就是 8.1W

也就是說精度就是 0.074A,數值抖一下就是 8.1W 的差異,當然這樣 30A 的情況,如果是 5A 的話因為滿負載是 3.5V 所以就要自己換算一下 (等 Hoyo 自己有用到再換算更新上來 )

AC 交流

  • https://ngsir.netfirms.com/capplets/rms/rms.pdf

交流電負載的情況就是交流電「正弦波」的樣子,因此必須至少取樣一個以上的週期後的數據才能計算電流。

台灣交流電為 60HZ 所以一次的取樣至少不能低於 1/60 = 0.0167 秒 才是一個週期

週期取樣計算 Arduino 程式

SoftwareSerial – Arduino + ESP8266 雙核通訊

Arduino 和 ESP8266 使用 SoftwareSerial 達到雙向資訊交換,需要注意串列鮑率(Baud Rate) 不能設定太低,會掉資料

Arduino 端,接 ACS712

ESP8266

ADS1115

更準的類比數位轉位器以及可應用在 ESP8266 上

536 total views, 4 views today

Google Firebase

相關後台管理網址

 

Database

新增、修改

在 Firebase 的後台可以即時看到以下結果

Image 276

使用相同的路徑給於不同的 value 就會直接更新值

使用 jQuery

讀取

網頁前端

 

使用 curl 指令

 

加上 ?print= 可以設定不同的輸出格式

 

刪除

想要刪除 birthday 資料時,可以使用以下指令

 

Storage – 檔案儲存

 

開放全部使用者可

最簡單的上傳範例

 

Google 使用者認證

Google Firebase 後端支援

 

檔案存儲

在範例的設定內,有一個 storageBucket 儲存空間的選項,並不是讓你輸入 Firebase 的路徑或資料夾名稱的,必須要到 Google Cloud Platform 的 Storge 內取得 Bucket 完整路徑後填入,例如

 

496 total views, no views today

LINE – 貼圖、表情貼下載

除了私下使用之外,更重要的是套用在 BOT API 上,這樣對方使用貼圖時才有辦法知道貼什麼圖

貼圖、表情貼

  • https://sdl-stickershop.line.naver.jp/stickershop/v1/product/{packageId}/iphone/stickers@2x.zip

動態

  • https://sdl-stickershop.line.naver.jp/stickershop/v1/product/{packageId}/iphone/stickerpack@2x.zip

動態也可以用一般貼圖下載,就是缺少動態 PNG 和聲音檔

  • packageId 下載時替換的 id 網址
  • stickerId 解壓縮後的貼圖 id 以及檔名

283 total views, 2 views today

MySQL – 匯出、匯入

匯出資料庫

使用 .sql 匯入資料庫

使用 phpMyAdmin 匯入有 foreign key 的資料表處理方案

匯入 fk 資料表時,就算所有關聯資料表一起匯入也會因為順序不一致而發生

這個錯誤

從網站上可以查詢到必須設定 SET FOREIGN_KEY_CHECKS=0; ,但是使用 SQL 指令執行後再使用 SELECT @@FOREIGN_KEY_CHECKS; 查看會發現還是 1 ,也就是沒有被關閉

解決的方法是修改匯入 .sql 檔案,在最開頭加上 SET FOREIGN_KEY_CHECKS=0; 以及結尾加上 SET FOREIGN_KEY_CHECKS=1;

類似像這樣

使用 LOAD DATA 匯入 CSV 檔案

直接匯入 CSV 檔案到 MySQL 資料庫

實際範例

需要注意指令順序

效能

如果可以使用 LOAD DATA 一定會比使用程式拆解後逐筆插入快,五萬筆的匯入在小白 MacBook 上也只需不到 3 秒

ERROR 1045 (28000): Access denied for user ‘XXXXX’@’%’ (using password: YES)

將 LOAD DATA INFILE 改成 LOAD DATA LOCAL INFILE

623 total views, 1 views today

.htaccess 轉址

404 轉到某一頁

轉到 HTTPS://

將 A 網站的網頁對應到 B 網站的同一網頁

RewriteCond 建立條件

RewriteCond 可以先對網址分析,符合條件才進行處理

Log

紀錄 Log 設定只能寫在 httpd.conf 內,不是寫在 .htaccess

Log 只在作用時紀錄,500 錯誤的設定是沒有紀錄的,意思就是還是要靠自己用猜的除錯

258 total views, 1 views today