樂園日記
|
LRA4與SRA4增加短時間內重啟太多次的訊息通知與中斷處理。
剛剛拿了更新到1606的Windows 10 Home來測試安裝Visual Studio 2019,是可以安裝的。
這幾天為了在電腦棒上安裝PyCrpto這個模組,遇到了不少的問題,最後裝起來。有圖為證:
如圖所示,因為電腦棒內建的硬碟太小,只能裝在其他外接裝置上,但偏偏Visual Studio 2015、2017 Community都不給裝在外接硬碟上,只好到處找方法,把SD卡變成SD硬碟!Visual Studo 2015又不能改共用元件的位置,只能裝在C,而裝下來,會造成C沒有空間!換成2017,可以改變位置,但要另外找35GB的空間先完整下載。
之所以要安裝Visual Studio 2015/2017,是因為安裝的過程中,需要從原始程式碼編譯,無法只裝binary。安裝完之後,問題還沒解決,因為編譯需要的標頭檔,路徑不一樣!需要依安裝路徑變更環境變數。
雖然Visual Studio 2019 Community已經出了,但似乎無法安裝在Windows 10 Home上(或是需要更新Windows到最新的版本)。
當初考慮買電腦棒之前,曾經猶豫,怕需要一直插在HDMI埠上。購入後,只要在完成初始化,把遠端桌面服務設定好之後,就可以不再需要螢幕,遠端操作即可。
「一輪明月」論壇,本來想移植到新版的環境,奈何要修改的程式碼頗多!考慮省電的情況,在電腦棒(Compute stick)運行舊環境,配合Apache的Proxy嫁接,恢復運行。
嚴格說來,可以不使用額外的電腦另外跑環境,只要在原來的電腦上,將舊環境在不同port上運行,再嫁接即可。只是原來Atom N550的環境,記憶體負載已經高達80%~90%。
此外,因為轉錄的程式執行在Windows環境,偷懶沒想寫Linux版的,有windows 10 home授權,NT$1990的電腦棒(已過促銷活動期限,請自行搜尋他站是否有活動,謝謝。),真的很划算,在此推薦給有類似需求的朋友們。
微調eyesOn的相關頁面,帶上tidy,讓產出的html容易閱讀與偵錯,畫面更直覺使用。
整合deviceAlert,允許單一程式跨Linux、MacOS與Windows取得CPU溫度,並增加uptime的回報。
調整processesGuard的report to方法,增加可呼叫外部指令來進行回報,除了增加回報的彈性之外,也避免內建的呼叫,因為目的地可能發生錯誤而當掉!
前幾天更新 AdGuard Home,直接從web按下更新,然後重新啟動即可,補記一下。
變更LRA4伺服器地址。
緊急排除LRA4不能轉錄的問題。(原因是僅iPhone能正常使用。)
這一個星期以來,Windows 10因為安全更新,已經重新開機兩次!因為都是重大問題,不更新都不行呀!
Line Message API之前在建立頻道時,區分成三種等級,現在把這三種等級,轉換成PUSH API使用數量的付費的等級,而原先Developer帳號的限制,也隨著這次變更,可以付費升級。
與簡訊比起來,是相當有競爭力的方案,是簡訊費用的四分之一,換言之,如果以相同的金額做行銷的話,相同的金額,可以發給四倍的客戶數,不方便在於,客戶需要先加好友,需要一個對照的管理介面。
Line Push API 前幾天將配額限定每個月500個,只好學大家改用Line Notify來發送!
詳細資料可參考:https://notify-bot.line.me/doc/en/ 。
參考了上面的文件,封裝了 lineNotifySDK.php ,方便使用。
樹莓派安裝多個WIFI網路卡給不同的子網路,讓多個子網路可以共用AdGuard Home,著實折騰了半天之久!
不過還好,看完這麼多的資料之後,終於完成了設定,如圖:
AdGuard Home的表現不俗,以下是運行一天后的統計圖:
本來想安裝Pi-Hole的,然而有新的推薦,使用ADGuard Home,於是就把它裝起來。
很容易安裝,詳細請參考: https://github.com/AdguardTeam/AdGuardHome/wiki/Raspberry-Pi 。
節省許多不必要的流量,帥阿~
不知是不是因為天熱的緣故,上個星期以來,Eee與Eee64都不是很穩定,雖然有eyesOn運行,但是還是只能手動恢復!因為每次的不能運行的原因都不一樣!
避免阿帕契記錄檔過胖,導入檔案切割功能,windows下的參考設定如下:
CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 1M" combined ErrorLog "|bin/rotatelogs.exe -l logs/errors-%Y-%m-%d.log 1M" TransferLog "|bin/rotatelogs.exe -l logs/transfer-%Y-%m-%d.log 1M"
Linux環境,請依照rotatelogs的路徑變更,參考設定如下:
CustomLog "|/usr/sbin/rotatelogs -l logs/access-%Y-%m-%d.log 1M" combined ErrorLog "|/usr/sbin/rotatelogs -l logs/errors-%Y-%m-%d.log 1M" TransferLog "|/usr/sbin/rotatelogs -l logs/transfer-%Y-%m-%d.log 1M"
processesGuard與eyesOn配合,如果eyesOn超過6分鐘沒收到呼叫,則會發LINE通知。
準備改善processesGuard,讓它來定時回報狀態,改善前天因為程式跳掉的問題。
昨天,你也 502 了嗎?Cloudflare 一度全球大當機,真是多事之秋!(明明就是夏天...)
後續其他加的報導,全球網站大當機半小時,台港多家媒體全遭殃,Cloudflare:沒有證據顯示與外部攻擊有關!、
Cloudflare全球大當機原因出爐:配置錯誤的軟體更新。
2019-07-01,Eee因為SRA4_32取不到BLTV的資料,造成一直建立新的檔案,導致單目錄過多的檔案,頻頻SWAP!重新啟動時,因為關機關的太久,手動強制關機再開,造成這些SWAP沒有正確存成檔案,使得2019-07-01,LifeTV轉錄檔案遺失了好一部分!
2019-07-02,約莫八點左右,執行轉錄的程式與processesGuard等跳掉,一直到快2019-07-03才發現,期間的LifeTV與BLTV的節目都沒有轉錄成檔案!
驗車中...
這次問題竟然和上次一樣,右後的煞車燈泡燒掉了!還多了個前輪吃胎的問題,要換輪胎。
Windows 10的WIFI網卡還是會莫名其妙斷線,只好祭出定時檢查重連的策略,寫了一支WIFI連線狀態重連的程式-「wACWifi.au3」。
目前先測試中,如果這個方法管用的話,再釋出原始程式碼與執行檔(因為沒有畫GUI設定的介面,只能只接改程式碼之後編譯)。
覺得吶悶不是辦法,最好的辦法,還是來讓資料說話,寫了一個小的shell script,每30秒記錄溫度與CPU的負載。
如下:
#!/bin/bash while true do dt=`date "+%Y-%m-%d %H:%M:%S"` echo ${dt} cat /sys/class/thermal/thermal_zone0/temp top -n1 | awk '/Cpu\(s\):/ {print $2}' sleep 30 done
使用時,記得使用轉向符號,轉入到指定的目錄檔案即可或是於rc.local呼叫,如下範例:
./status.sh >> /home/pi/status.log &
樹莓派又熱當了,這次可以很明顯發現整個包覆的散熱片都很燙,是怎麼回事呢?吶悶中...
於首頁增加GDPR的提示視窗,改自GDPR Compliant Cookie Consent Popup Demo原始程式碼。
將下載檔案解壓縮之後,使用文字編輯器,把內容全選並複製後,貼到目的檔案的head區塊即可。
#!/usr/local/opt/python/bin/python3.7 #上一行請依照python解譯器的路徑變更 #請記得先安裝mysql.connector這個package,安裝參考指令:pip install mysql-connector-python 或 # pip3 install mysql-connector-python import mysql.connector from datetime import datetime, timedelta #Connect MySQL cn1 = mysql.connector.connect( host = "192.168.0.1", #改成您要連接的主機地址 user = "theAccount", #改成有權限的帳號 password = "thePassword", #改成對應的帳號的密碼 database = "theDB", #改成要連接的資料庫名稱 ) cr1 = cn1.cursor() #取的目前的時間日期,保留若有需要用到的時候,方便應用 #now1 = datetime.now() #now1.strftime("%Y-%m-%d %H:%M:%S") # sq1 = "select * from theTableName" #變更為需要的sql敘述 cr1.execute(sq1) #執行上面的sql敘述 rt1 = cr1.fetchall() #將所有取得的資料放到rt1 #對每一行資料進行處理 for rw1 in rt1: print(rw1[0]) #第一個欄位為rw1[0],第二個欄位rw1[1],依此類推 #接下來就請依照需求來處理每一行的資料 #對每一行資料進行處理完成 #若有執行insert update delete 等sql敘述時,請把下一行前面的註解井號去除 #cn1.commit() cr1.close() cn1.close() ''' 目的:在這裡寫下這支程式要做什麼。 作者:這邊就改成您自己的名字,中文、英文都好。 沿革: 2019-06-23 0.0.0.1 1.誕生日。 '''
本頁執行共花了: 0.020547866821289秒