2024年1月28日 星期日

電子電路_MCU_通訊介面

MCU單片機

微控制器(Microcontroller Unit, MCU),等同一顆小電腦(麻雀雖小五臟俱全),內含CPU、記憶體以及基本周邊單元。

ATMEL

ATMEL被microchip合併

  • ATtiny85:最陽春的MCU,也可以用UNO來寫程式(連結)
  • AVR:使用過ATUC64L3U、ATxmega64A1U、AT90S8515(KIM)
  • SAMS:這兩年大量使用SAM4S8B(連結)

ST : STM32XXX

ARM 32bit Cortex-M3CPU  72MHz,1.25DMIPS/MHz   32-512KB Flash  6-64KB SRAM
STM32F4介紹(連結) 記憶體管理(連結) ,還記得以前拿到開發板,覺得好複雜的感覺,現在卻是常常接觸。
自己有用過這個組裝一個包含列印機,MCU,相機三者的東西,不過現在仔細看看若用OpenMV,相機部分可以直接省略呢。
延伸OpenMV(連結):屬於功能整合型MCU,網站。手邊有好幾代。

忘記哪裡來的開發板
忘記哪裡來的開發板

TI : MSP430

低工耗,16bit,過去專案使用到,為了安全起見和SAM4S做對手。

ARC

架構類似ARM但不需給付授權費,工作上用了許多年(專案層次)

Arduino

使用過多種版本,例如MINI、UNO。

UNO
MEGA(連結 IDE設定,處理器選1280 價格約140元)

MEGA

Arduino & Android

類似於Mega 加上一個可以連接到安卓手機的USB 主機接口。當初購買約800元(貴),連結。

相較於WIFI或是藍芽,自己很喜愛單純線控的概念,只是似乎沒有後續發展。Arduino那邊使用USB CLASS,與ANDROID進行溝通,同時Android程式也要有另外的程式,才能溝通。

Arduino Mega ADK Rev3 連結  連結 Arduino Mega ADK 有一片

Freaduino ADK  連結1 有一片   Arduino Mega ADK 連結2   連結3 

XADOW

依序是RTC 擴展 藍芽 MAIN 類似振動器 電池

硬體

供電 連結 5V的USB行動電源可使用,供電孔為9V至12V,使用9V原因( 連結 )

FTDI當做連結,DRIVER是C:\Program Files (x86)\Arduino\drivers\FTDI USB Drivers 找到,用COMXX對應使用

使用上產生所謂SHIELD,將許多線路延伸出來,SHIELD各式各樣。


安裝和軟體

安裝檔(1.8.8版 下載)

void setup() {

   pinMode(LED_BUILTIN, OUTPUT);

}

void loop() {

   digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)

   delay(100);                       // wait for a second

   digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW

   delay(100);                       // wait for a second

}

沒有main的結構,檔案名稱為XXX.ino,系統也會自動以XXX建立同名目錄

使用第三方專案,專案位置在 C:\Program Files (x86)\Arduino\libraries 每個專案都是一個個單獨的目錄

#include “xyz.h”


複雜專案

在相同目錄下,將x.h x.c(cpp) 檔案放在同一目錄

#include “xyz.h”

就可以完成編譯

參考連結


製作屬於自己專案

參考連結

找到每個IDE設定的專案位置,位置在

IDE's File > Preferences > Sketchbook location

這裡就會看到目前的位置,資料是 C:\Users\kayjean\Documents\Arduino

在這個目錄下建立自己專案的目錄名稱PwmLed

把三個檔案放進去

libraries/PwmLed底下還可以放個examples目錄,存放範例(也就是現在正在做的事情)

Arduino OS

PORT簡單OS 超瘋狂,可當成OS學習教材(連結)

顯示TTF文字

控制相機拍照

連結

小型LED

PIN13有內建電組,可實驗LED,也可以用電路板接出(注意,長腳為正)。小功率的LED都是屬於直插式,一般都是按直徑分型號3mm 4mm 5mm 8mm 10mm 12mm。不論直徑大小,其工作電壓和工作電流都是一樣約15mA。電壓以常見的5MM來看,紅光 黃光 1.7--2.1V。白光 藍光 暖白光 粉紅光 紫色光 2.8--3.6V。綠光2.6--3.4V。

藍芽

藍芽模組

抽屜裡

ESP

ESP8266

2014上海樂鑫,內部含WIFI天線。Ai-Thinker生產的ESP-01。連結,有micropython的開發機制。ESP-12E WiFi module is developed by Ai-thinker Team. core processor ESP8266 in smaller sizes of the module encapsulates Tensilica L106 integrates industry-leading ultra low power 32-bit MCU micro, with the 16-bit short mode, Clock speed support 80 MHz, 160 MHz, supports the RTOS, integrated Wi-Fi MAC/BB/RF/PA/LNA, on-board antenna.



ESP32

2019,包含WIFI和藍芽,Tensilica Xtensa LX6微處理器。連結 RISC-V 32 位元單核心處理器

  • ESP32 有BLE功能範例(連結),因為量大所以價格最低
  • ESP32-S 主頻都到240
  • ESP32-C 主頻都到160
  • ESP32-H 主頻96 拔掉WIFI,能有單純BLE功能,較適合目前需要 連結 詳細介紹(連結)

Pixart(BLE)

主功能為BLE,可參考(連結)。僅列出呼叫系統功能寫法。

主功能為BLE,可參考(連結)。僅列出呼叫系統功能


Raspberry Pi

因為功能過多遠超過MCU單獨列出(雖然有PWM和GPIO)。有個特殊SHIELD可以讓RASPBERRY接上ARDUINO的東西。叫做alamode。


買過第三版,包括盒子、簡易的CAMERA、USB WIFI、USB滑鼠控制器






買過第四版,包括盒子、簡易的CAMERA、單門的CAMERA感應器




起初用在投影HDMI,最近打算用在lensless(尤其是LENSLESS)
搭配的螢幕




燒錄方式

JTAG (1/4)

JTAG標準協議,可以實現編程時在線調試和DEBUG。接口為電源線和復位引腳,TDI、TMS、TCK、TDO:

  • TDI-- 數據輸入,所有寫入寄存器的數據都是通過 TDI 接口串行輸入的;
  • TMS-- 模式選擇,Jlink 輸出給目標 CPU 的時鐘信號;
  • TCK-- 時鐘信號,所有數據的輸入輸出都是以該時鐘信號為基準的;
  • TDO-- 數據輸出,所有從寄存器讀出的數據都是通過 TDO 接口串行輸出的

設計電路時要選用上拉電阻。 JTAG 接口有多種形式,常用的 20 引腳、14 引腳和 10 引腳(不懂)。JTAG 接口燒錄方式常用的工具為 J-Link。

SWD (2/4)

SWD是JTAG的子集合,意法半導體的 ST-Link也支持SWD。只需要兩根線。

  • SWDIO-- 串行數據線,用於數據的讀出和寫入。
  • SWDCLK-- 串行時鐘線,提供所需要的時鐘信號。

UART (3/4) 和 燒錄方式SWIM單線 (4/4) (連結)


程式語言

一般都是C或是C++,但是多了個MicroPython

通訊介面

序列:非同步I2C

I2C的特點是只有兩條線,理論說明(連結)。(很多裝置同時支援I2C和SPI兩種介面,只要切換某個電路,就會切換)。

I2C的特色是,每種裝置會有自己特殊的代號(同型號內各個產品的代號都是相同,不像WIFI通訊裝置則是UUID每個都不同),這個代號是寫在data sheet中。比較特別的是,如果一個系統裡面有多個這種裝置怎麼辦呢?牠會用是否提供電壓,改變一些address資訊,但改來改去最多就是兩個。例如手邊的三軸感測器,LIS3DSH( 這和LIS3DH不一樣歐 ),根據datasheet(連結),所謂的位置又叫做SAD  slave address

The slave address (SAD) associated to the LIS3DSH is 00111xxb whereas the xx bits are modified by the SEL/SDO pin in order to modify the device address. If the SEL pin is connected to the voltage supply, the address is 0011101b, otherwise the address is 0011110b if the SEL pin is connected to ground. This solution permits to connect and address two different accelerometers to the same I2C lines.   0011101 : 1D   0011110 : 1E

從master角度看,配合clock的動作,將slave的位置丟到bus上,各個slave判斷位置訊號若是屬於我這個裝置,就會在最後面一個訊號結束後,將電位拉下(此時master是進入free的狀況),然後就開始一連串訊號串送過程。master的頻率可以從100k~400k範圍,而slave本身並沒有發送任何頻率的訊號,slave僅僅是在每次master的clock頻率拉起來時,進行相對應動作。(非常聰明的作法)。

系統功能,將資料寫入規定暫存器和記憶體內(透過C語言的結構功能),然後變更register就可以進行例如enable、送出資料、讀取資料等動作。

ARDINO寫I2C軟體方式(連結)。

I2C大量應用在專案中,好奇其內部究竟如何設計,找到一篇文章介紹(連結),

序列:非同步SPI

連結。SPI和I2C類似(連結),同樣可以連結多個裝置。如下圖。每個SLAVE裝置掛四條線。MASTER可掛多個裝置但會依照SS而逐漸增加,要與哪個裝置溝通,就改變對應的SSX即可。

通訊方式如下(連結),分成四種。
單工:線路上的訊號只能做單向傳送
半雙工:線路上的訊號可以雙向傳送 , 但是不能同時傳送
全雙工:線路上的訊號可以同時雙向傳送
同步:傳送端和接收端共用同一個CLOCK

SPI的速度遠高於I2C,目前只在少數螢幕上使用過。

其他的協定實在太多,可以先從這篇當作基礎。I2C、SPI、UART、RGB、LVDS,MIPI,EDP和DP。(連結)

UART


若要實現兩MCU雙邊溝通,UART是最簡單模式。除UART外進階方案是USART,兩者有很大差異。

UART

做法就是研究目前印出文字的程式對應回去
PrintDebugString位置在UARTDRIVER.c
更基本的設定是
DEBUG_MESSAGE_OUTPUT    GlobalSettings.h裡面

從設定來看UARTDriver_enInterfaceId_t
UART0   這個是DEBUG印出   和SLIM共用,只會有一個存在
UartInterface_eUart0

UART1   這個是藍芽  後來被其他的項目佔據,主要是使用USART(不是UART,很討厭)
UartInterface_eUart1

SPI  這個是和SAFETY溝通,不會用到


系統開機的時候
會使用
CommunicationDriver_ModuleSetup
    mg_stContextPort0.enInterface = UartInterface_eUart0;
    mg_stContextPort0.nBaudrate = 38400;
    mg_stContextPort1.enInterface = UartInterface_eUart1;  但是應該沒有設定到
    mg_stContextPort1.nBaudrate = 38400;  但是應該沒有設定到
    這邊順便會設定nBaudrate
而這整個項目會放在g_stModuleList,應該是在系統運作的時候就會被叫起來
實際應該是START的時候,會被叫起來,但是START躲在很裡面,不容易理解
UART0和TX RX怎麼對應呢?也沒有任何設定就這樣完成了,系統中有兩個kerneldriver,但是都沒有使用到,似乎是寫死在系統中的,非常詭異
    PIN_MCU_RX,
    PIN_MCU_TX,

宣告的時候有兩個特殊功能,好像也沒有被設定進去
UARTDriver_ActivateTunnelMode
UARTDriver_EnableEchoMode

實際使用的方式很簡單
UART0->UART_THR =(uint32_t)inChar;
while (!(UART0->UART_SR & UART_SR_TXEMPTY))
UART_SR_TXEMPTY 這個不用管


現在這個腳位被PC CONSOLE占住,最直接的方式,將這兩個腳位接到藍芽開發板的接口,嘗試看結果。

USART

LAMINGO有運作範例在最舊的版本中,目前有簡單啟動但是發現要等待,所以無法執行下去。不過這也是合理的,因為現在藍芽開發板是UART啊。

USART模式卻僅啟用UART

網路上有查詢到範例,但使用的FRAMEWORK不同,研究中

LAMINGO裡面有段程式似乎想要借用USART的宣告放進去,看起來沒有效果。


LVDS

LVDS功耗比較低,適合長距離傳輸

LVDS和MIPI的區別連結



FTDI

USB轉TTL Serial介面。轉接板(卡)或轉接線。功能:連結

  • 燒錄Arduino(ATmega微控制器),Arduino Duemilanove開發板就包含這顆晶片與電腦端溝通。
  • ATMEL,UART轉USB。
晶片有FT232R,同類型Prolific的PL-2303、Silicon Labs的CP2102。


2024年1月27日 星期六

步道健行計畫:SWISS Via Alpina 瑞士阿爾卑斯一號線

瑞士多山,遍布著密密麻麻的健行步道,考量安全性、距離等因素,編號一號的Via Alpina為首選。基本資料如下。

  • C1  Sücka » Vaduz
  • C2  Vaduz » Sargans
  • C3a  Sargans » Weisstannen
  • C3b  Weisstannen » Elm
  • C4  Elm » Linthal
  • C5  Linthal » Urnerboden
  • C6  Urnerboden » Altdorf
  • C7  Altdorf » Engelberg
  • C8  Engelberg » Meiringen
  • C9  Meiringen » Grindelwald
  • C10  Grindelwald » Lauterbrunnen
  • C11  Lauterbrunnen » Griesalp
  • C12  Griesalp » Kandersteg
  • C13  Kandersteg » Adelboden
  • C14  Adelboden » Lenk

距離和高度資料
連結


再多資料,也比不上生動的影片。

細部資料

  • 安全狀況:步道安全性高,最明顯的例子是有許多Solo影片。撤退方式:若依照網站規劃,幾乎每天都有機會下切至村莊,可以此撤退。
  • 理想行程:依照全部十多天的資料計算,平均每天前進20公里,上升1400公尺,考慮背包12~15公斤,真的要有完整訓練。另外一組資料是,由東至西,354公里,上升24290公尺,以18天完成。
  • 預計行程:考量自己經驗和適合的請假天數,預計走西半部Lenk到Engelberg表定七天的行程(blog作者走了十二天)。考慮交通和天氣等不確定因素,直接加碼變成九天。做法就是走到哪算哪。
  • 人數:目前單人可能性哥。
  • 季節:八月初拍攝的影片中偶爾還能看到雪,適宜時間約在七月中或八月。
  • 住宿:野外露營為主(above tree,可以在野外露營和點火,連結 )(或是收費露營場地 連結),可能只會住一次?(不預訂房間,隨緣)。
  • 補給:因為是煮食和野外露營,材料依靠便利商店,透過標註地圖POI,確認了九天中,有七天會經過便利商店,也就是說至多背兩天份的食物。非常輕鬆。
  • 出發前:網際漫遊,機票到西部日內瓦Geneva或東部蘇黎世差不多,預估費用三萬五千元。買液態瓦斯,住宿(青旅每床大概一千六 連結),討論存放行李方式。交通工具到Lenk(日內瓦約四小時 連結,蘇黎世四個半小時)。進行逐日計畫。
  • 計畫:一般資料顯示每天大約上升下降各約一千公尺,這個距離是七天,但目前衡量最後一天一定要拉長,變成八天。事實上,我們可以因為是在山上搭帳篷,不必依照每天都要。
  • 拍攝:考慮敗DJI Pocket 3(連結),或手機。
  • 出發後:從Engelberg回到日內瓦居然只要四個半小時,到蘇黎世兩個半小時,到德國曼海姆也只要五個小時,相較於長程健行,有著巨大差異。再考慮歐洲旅遊行程,回台灣。

逐日計畫

我嘗試結合"個人的旅行筆記"和"專門提供事實網站"兩者資料,以天為單位整理出可能方案。

D1 Lenk to Adelboden 距離 14 km 上昇1000 下降 700
參考(本文連結 資料連結 看這些地圖要反過來)

D2 Adelboden to Kandersteg 距離 16 km 上昇1250 下降 1440
參考(本文連結 資料連結 看這些地圖要反過來)

作者在這邊走錯誤,這是當時角度,應該往右,但右邊沒有標記(左邊反而有,因此走錯)。希望到時候我不會走錯。

D3D4 Kandersteg/Oeschinensee to Bundalp 參考(本文連結)
D5D6 Bundalp to Griesalp 參考(本文連結) 作者在這邊休息了"兩天"
距離 17 km 上昇1700 下降 1450   D3~D6 參考( 資料連結 看這些地圖要反過來)


D7 Griesalp to Spielbodenalp 參考(本文連結)
住宿點 連結,是非常好的地點,讓我也會想住住看

D8 Spielbodenalp to Alpiglen 參考(本文連結)
先經過Mürren,開始有遊客人潮
再經過Kleine Scheidegg,非常多遊客人潮
作者非常抱怨
A couple of lessons we learned:  First, get out on the trail as early as possible, and savor the quiet.  Second, pass through the towns quickly, and make the most of the countryside.

D9 Alpiglen to Grindelwald 參考(本文連結)
作者又有點偷懶的只走了小小一段,他們在Grindelwald休息,雖然有抱怨,還是覺得這裡不錯。
Another lesson learned:  don’t write off a town just because it has a touristy reputation. The outskirts, and even portions of the town itself, can still deliver a high quality experience for the hiker.

從這邊開始會發現作者的狀況和正常狀況相差太遠就參考寫寫歐,也就是說,一般兩天,作者走了三天。
D7~D9
Griesalp to Lauterbrunnen 參考(資料連結)
距離 22 km 上昇1400 下降 2000

Lauterbrunnen to Grindelwald 參考(資料連結)
距離 20 km 上昇1400 下降 1150

D10 Grindelwald to Grosse Scheidegg 參考(本文連結)
D11 Grosse Scheidegg to Meiringen 參考(本文連結)
D10和D11的描述比較少,猜測是進入溫和山區,

D10~D11
Grindelwald to Meiringen 參考(本文連結)
距離 23 km 上昇1100 下降 1500

D12 Meiringen to Jochpass 參考(本文連結)
D13 Jochpass to Engelberg 參考(本文連結)

D12~D13
Meiringen to Engelberg 參考(本文連結)
距離 22 km 上昇1950 下降 740

參考資訊

  • 網站
    • (連結):基本參考資料,包含每日行程和GPX,尤其特別提供GuideBook功能,能夠依照需求製定出高水準資料手冊(連結)。而且包含不同顏色步道。嘗試蒐集和下載成為ALP.ZIP檔案約20M。
    • (連結):比照前面,資訊很多。
    • 連結 提到季節以八月最合適
    • (連結):有不少一號線圖片,還有美美的影片。
  • 旅行BLOG
    • (連結):主要參考這項。美西人,年紀比我大,行程分成兩次,第一次由西向東,第二次由東向西,後續還包括紅線。
    • (連結):紐約人(香港),因為天氣過於炎熱跳過好多部分,有露營
  • 旅行影片
    • 連結:頗有知識性,而且可以學英文,一舉多得。
    • 連結:這兩個人住帳棚
    • (連結):三個年輕人,有露營

同場加映西歐步道遊記:一起去健行:走到白朗峰面前,法國阿爾卑斯山GR5步道

作者劉麗玲,紀錄她和先生以月餘時間由北往南度過阿爾卑斯山西側(也可以說是白朗峰)的旅行紀錄。

阿爾卑斯山是很大山體,GR5位於西側,而這篇BLOG提到的Via Alpina屬於北側。看書中描述,大致上都是長距離平緩上升及下降,穿過一個個隘口,這部分與Via Alpina相似,只是這條路線因為開發時間早,布滿了滑雪場和國家公園,觀光程度高。

作者是身材嬌小的女性,但是人小心卻不小,揹著重裝備走在步道上,常常吸引別人目光詢問是否需要幫忙,即使膝蓋痛(常常寫到膝蓋痛),也是咬牙忍住向前走。對於整個行程,最後有句話非常值得記錄asper sed liber(崎嶇但是自由)。

其他參考資料:環繞白朗峰的路線,還有橫越歐洲(連結)。環繞TMB 連結 連結。

2024年1月9日 星期二

閱讀 疼痛是一道我穿越了的牆 WALK THROUGH WALLS : A MEMOIR

封面照就深深吸引著我的目光。人是視覺的動物,MARINA有輪廓分明的五官,藝術家的臉龐,光就這兩點都足以讓人拿起來翻兩頁,更何況照片中她手持著點著的蠟燭,而蠟燭火苗頂端燒著的不只有空氣,更有她的手,驚悚值立刻破表,搭配書名【疼痛是一道我穿越了的牆】,直指本書核心,疼痛。

而即使在如此疼痛狀況下,MARINA的表情仍是如此堅毅,似是在訴說這個身體裡只有頑強,沒有屈服。牆大的好奇心讓我閱讀完全書,全書屬於自傳性質(不確定是自寫或是口述),依時間順序陳述,從幼兒時期(含家族歷史)到學習歷程到成名至最新近況,也因為她的人生幾乎與表演藝術畫上等號,所以也等於看完表演藝術發展史。

表演藝術

真要用最簡單的方式說明MARINA的工作,就是她在TED演講中自述一段話:「人們總是害怕簡單的東西,我們害怕痛苦、我們害怕受苦,我們也害怕死亡。所以我做的事是——向觀眾展現這一類的害怕,利用觀者的能量,將我的身體推到極限,然後在恐懼中解放了我自己。」原文如下。

all human beings are always afraid of very simple things. We're afraid of suffering, we're afraid of pain, we're afraid of mortality. So what I'm doing -- I'm staging these kinds of fears in front of the audience. I'm using your energy, and with this energy I can go and push my body as far as I can. And then I liberate myself from these fears. And I'm your mirror. If I can do this for myself, you can do it for you.

MARINA對痛苦的高敏感度,來自於她幼年時期經驗,從書中內文歸結如下。

  • MARINA父母都是南斯拉夫共產社會金字塔頂層人物,物質上衣食無缺,精神上屬於根正苗紅的官二代。
    • 因為生活不虞匱乏,也了解成名並不等於幸福
    • 日後追求對象不是物質或名聲,而是更為內向且有意義的事物
  • 幼年起就由有強迫症的母親嚴格管教(包括重度體罰),當時因為無法反抗而以身心失調型式反映(流血不止)。補充延伸她書中提到的弟弟,在同樣環境中成長,日後成為重度毒癮者,可見端睨。
    • 重複強迫性夢境
    • 對痛苦特別敏感
  • 對父母不和和家中無愛,歸因為自己的出生和女性身分,低自我價值認同。表現出來則是會自殘、並有自殺行為。
    • 無法忍受別人大聲爭執
    • 不希望自己痛苦延續到下一代
    • 終身將愛視為最強烈需求,第一任愛人烏雷

MARINA可以說是深受痛苦影響,所以從青年時期開始,如何逃離限制和追求自由成為她一生追尋的方向。作法上,她是有大量閱讀經典小說,但更實際的是接觸藝術,因為母親讚賞她在藝術方面的表現,成為起始,大學進入藝術科系後,先專攻繪畫,後期採用更有"立即性"的表現方式,例如聲音或車禍現場速寫,接近畢業那段時間,因為加入思想團體,轉向形而上風格發展,在愛丁堡藝術季初次接觸表演藝術,從此一頭栽入。

MARINA的藝術主題都帶有強烈生命風格,探討人與痛苦、人在長時間的關係。雖然自己與藝術無緣,但若講到痛苦與長時間,我熟悉的超級馬拉松就是其中一種嗎(好歹我也跑過一百公里)?那的確很特別,但那似乎不是藝術家會追求的痛苦、也缺少與觀眾互動,當然也沒有任何觀眾有自我提升。所以就以馬拉松和她作品的比較,就可以簡單推導出兩點重要的差異點,一是觀眾參與很重要,一般繪畫都是安靜的在自己工作室內進行,無關過程,只在乎結果,但表演藝術完全不同,可以想像一個人在桌上拿刀子往手指扎是種藝術嗎。二是跨越邊界達到提升很重要。也因此在描述她作品時,會大量套用這兩個標準來進行檢視。


新年工作新希望

過去社會運作機制單純,超過九成以上是農業人口,人們隨著季節春耕夏耘秋收冬藏,日復月復年復一年,勞動力就是全部。隨著社會發展,工業和商業社會興起,彼此交換的元素不再限於勞動力,而是更精緻的專業分工,各種工作陸續衍生如三百六十行。工作成為人們維持基本社交以及取得收入的主要來源,各種和工作有關的延伸也陸續出現。時至今日,因著自動化與資訊與物流的迅速發展,手工生產被工廠自動生產取代,人工服務也逐漸被資訊代替。無論是形式或產出都有很大的變化。

在這個大架構下,工作與人們的關係,也發生著很大改變,主要是三部分,一是維持基本社交和社會參與的主要舞台(覺得自己是正常或是有用的人,豐子愷說,小時候,總以為那些不上班的人是混日子。長大後,才知道那些只上班的人才是混日子),二是主要的生活收入來源,三是成為個人成就感和自我實現的主要管道,對衣食無缺的現代人來說第三者尤其重要,我們偏向工作是要創造"價值"和"說故事的能力",尤其是工程師這個族群,總是幻想著能做出對人有幫助的產品,而且會去找那種讓人自我感動的例子,例如我始終記得Hans以病患身分使用亞培CGM的反應,就覺得好產品真是造福人群,還有例如Maaa文章(連結)。

退伍後即進入職場。在YAM(5.5)、BRIDGEWELL(3.5)、ALTEK(GPS 2 無反 2)、ALTEKMED(血糖機和CGM 4 NUGEN 4 口掃機和眼底鏡和AI 1 Wearable Injector 2)。二十年間從事過網路服務、資訊檢索、導航、影像、醫療,不同產業。幾家公司規模都不小,產品種類也很多,但從結果來看都沒有成為好商品,也沒有轉大錢,整體評估是本質學能和視野和職位都沒有提升,產品也沒能讓誰受益,總有些事與願違的感覺,總有淡淡的悲傷感覺瀰漫在四周。自己分析這過程,可能是投入的都是開創性產業,但基礎不穩固,很容易淪為ME TOO的心態以畫虎不成反類犬結束。當然啦,這些都是藉口,真正會成功的人,是意志力極大的。唐三藏西天取經,沒有孫悟空去不去呢?去。沒有豬八戒去不去呢?去。沒有沙和尚去不去呢?去。就算只剩下一人,他還是會去。這就是領導的重要角色。

Down to the earth

嘗試往後看。對超過50的科技大叔,最舒適圈的選擇是穩健保守安全下庄。基本項目就是落實平日項目。出差報銷(高速公路連結),定期完成進度表,也要記得整理桌面和抽屜。而實際工作,目前有兩類。總的來說,這兩項都很溫和但缺少挑戰性,對這個部分,就是沿就lensless。


一是自研注射器,這個領域的相關背景知識(連結),從產業看,公司Roadmap雖不清晰但高層夠靈活可補足,目前狀態不明但或有可期。

另外是協助Roche胰島素注射器產線的各項雜務(連結),此案已持續多年,歷經二、三位負責人,但棘手問題仍無法解決。自己本職學能不在此,沒有信心能完成。最近狀況是有機會派到德國出差學習機器維護,可是對方狀況搖擺不定,感覺不是值得好好做的事情,相反會有越陷越深泥沼感覺。

工作寫過文字

工作寫過文字
兩人工作
TXXC面試記
隔壁部門有事
新年工作新希望
關於工作,我想說的是..
工作:Accu-Chek Solo Tubeless Patch Pump上市
年終檢討 工作
也無風雨也無晴..工作碎碎念
職涯 血糖機這幾年
年年有今日 歲歲有今朝
車庫OFFICE
熬夜,寫程式


工作分成三個階段

養家餬口

社會參與

自我實現

作法上,就是依照項目進行,一般的會議有OUTLOOK,TODO有PM表單在追蹤,不需要放在這邊討論。下面的TODO就是盡量排上去,自我提醒。

當了小主管,對工作的想法也開始不同。

2024年1月2日 星期二

吾道一以貫之

在天台山一貫道道場,看到斗大的標語,寫著【吾道一以貫之】,雖然不了解一貫道教義但對孔子這句話是熟悉的。我的思考能力很薄弱,每次只要牽涉到要我思考,就會想睡覺。可是越是如此,我才該多專注在者,畢竟這就是我存在的意義。

道,是指天地萬物的演化運行機制。人存活於世,就是在不斷的面對各種狀態,生活各個層面則是不斷要求人們對事物進行選擇。例如有的人吃飯就是大家AA制、有的人則覺得約會就是要男方請客,有的人覺得買東西方便就好不在乎價格、有的人則認為要貨比三間買到CP值最高的,或是更意識形態的選擇是,當你看著一片海洋捲著巨浪時,你想到的是這激起的浪花真美,還是這浪也太危險了呢?…等,這些諸多選擇,沒有對錯之分,都是客觀的本體,而一個人對於客觀的事物,會有哪些主觀的見解,會從什麼角度切入,以及用什麼樣的態度面對,這就是一個人的金錢觀、教育觀、投資觀…等加以解釋。統整來說就是所謂世界觀。

不同世界觀的差異可能來源於社會文化或是家庭教育或是先天稟賦差異以及成長經歷等因素。慢慢的擁有自己的認知和自我思考能力,會開始追求不同的目標、想要的東西與嚮往的生活模式,發展成一套人生哲學。也就是"我相信"什麼,也就是信念。總之,影響到的就是,一個人面對事情、做決定時的優先順序以及取捨會是什麼。是否能掌握原理原則並不影響每天的生活。但熟悉這機制,觀察學習並且加入自己的成長經歷,彼此相互補充,成為自身的體系(六經為我註),久而久之的確可以提升視野,掌握事物變化發展,對於世間事物組成和演變以及遇事該如何面對都了然於胸,遇事安定不會隨著突發事物心情起伏不定,時時刻刻都盡可能專注,不虛度,內心平衡,情緒穩定,生活充實,不會被外界影響。同時,自己也會感到,並不是刻意要努力什麼,也不需要勉強自己,就自然內生動力完成。也可以說是"一致性"高。人的內在、生命、人格的一致性愈高,就愈能真實地、誠信地活在這樣的默契裡,就會感到自在以及喜樂。曾國藩曾以四句話語描述這個感受。物來順應:事情來了,就順應和面對。未來不迎:還沒有發生的事情,不要過分的擔憂。當時不雜:專注做好當下的事情。既過不戀:已經過去的事情,就沒有必要再去留戀。

連結

如此心態下,所謂的生活,就只是在這個世界中,用自己能了解的方式解釋和重新建構的過程。因為抓到生活的核心,挑戰來的時候,核心穩定,那我們就不至於晃蕩的找不回自己,雖然有時也會有煩躁,但覺得有意義也會思考,能能察覺到情緒與思維的運作而不受感覺左右,所以就更能承受,甚至將負面情緒消化,控制情緒而不是讓情緒主宰我們,帶來成長。這也就是尼采曾說的,一個人知道自己為什麼而活,就可以忍受任何一種生活。整體的人生就是幸福且有意義的。感謝生命中遇到的每一個人、每一件事,成為更好的自己。

相反的,有些人從未有屬於自己的理解方法,對事物懵懵懂懂,甚至是無動於衷,所以未有明確價值取向,他的世界觀也因此趨向於模糊漫漶,也就是一致性低,內在就容易產生混亂。因為沒有自我中心,他人的羨慕就彷彿是自己的幸福,會想要向外求,藉著與人比較肯定自己,就會汲汲營營於不切實際的追去或是不斷地去對他人犯錯,甚或是不得不完全封閉自己的精神。

-----------

我天性駑鈍,對思考之類事情不在行,生活環境又優渥,沒有培養自我世界觀的機會,所以總是陷入迷惘困惑中,屬於一致性低的後者。只是時間洗鍊過程中,因為心嚮往之,慢慢的總結出了自己的概念。我相信這個世界都是依照原理原則在運作的,可以說就是惟物論,而不是靈魂轉世、輪迴(連結)或世界是虛幻。所謂的原理原則就是可驗證的規律,各種知識,包括我經歷過的事情。秉持著自己對自然和技術的了解(連結),人類是演化的產物,而我僅是人群的一份子(基本生理感知 休閒娛樂 與人相處),人群的組合就是社會(與社會有關想法 各地風土 工作)。而在知識、生理意識和感覺外,既然有思考能力,若能整理出自己是如何思考,如何行事,增加自我了解、挑戰自我,最後提到對美的感知(連結)。


國美館展覽


ANDROID STUDIO & KT

ANDROID STUDIO & KT(連結)
ANDROID STUDIO & BLE(連結)

ANDROID STUDIO

版本giraffe 2022.3.1 patch 3--> 安裝
( JETPACK 連結 完全不知道是什麼 )
開新專案不成功,因為要先安裝SDK才能開專案--> 安裝
編譯不成功,因為要安裝gradle--> 安裝
程式不能編譯,因為KT的環境沒弄好--> 安裝
終於編譯成功。到這個階段覺得,新版IDE功能雖然強大但安裝門檻實在很高,強烈懷疑一般開發者真能走到這步驟媽?

啟動程式
體模擬器:安裝失敗(加速顯示不能用,AVD不能用,應該是這台筆電沒有專業顯卡)
實體手機執行:舊SONY XPERIA(ANDROID 8.0最高版本,已設為開發模式)-->安裝成功

螢幕截圖和錄影
logcat->有螢幕截圖功能。(連結)
logcat->有螢幕錄影功能。可以錄製三分鐘影片。

LOG資訊
Log.d("KAYJEAN", "get name " + device.name)
出現在logcat

KT(kotlin)語法

新程式語法(感覺是介於PYTHON和JAVA兩者之間),連結

KT APP專屬設定

入口架構

AndroidManifest.xml資料
設定activity : 
        <activity
            android:name="com.elegant.access.NavActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.Elegant.Access.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
設定service : 
        <service android:name="com.elegant.access.service.BluetoothLeService" android:enabled="true"/>

桌面按鈕

精簡的Activity範例Custom List View

基本範例,兩個頁面切換,首先是條列(LISTVIEW),點選任何一個後,進入詳細頁面。可用範例(連結 連結 連結)
概念符合現在DEMO需要,條列是每次施打的時間和成功與否,點選進入後,可以看到當次施打詳細資料。項目包括
the sequence of operation,
date/time
device operation 
  1. device activation, 
  2. start of delivery, 
  3. progress of delivery, 
  4. completion of delivery, 
  5. error report.
detail history log
  1. battery status, 
  2. bluetooth connect status when delivery, 
layout的內容比照以往JAVA,還是放在res/layout下,XML格式,設定個名稱,右上方可以切換XML內容或是UI設計。


Layout設計

以Fragment為主的設計

新的UI設計概念,是以fragment為主,若有不同頁面,可以透過navigator切換到不同activity。檢視此範例。

第一頁:起始動畫(SPLASH)。
NAVACTIVITY裡面使用 activity_nav_main ( nav_graph.xml  )

第二頁:開始畫面(StartFragment)  StartContent->LogoCard 按下button跳到下一頁

第三頁:資料出現在DeviceListContent,資料來源為DeviceListBoardCast會將資訊發佈,如果在這邊設定過濾條件,應該就可以過濾想要看到的那類裝置。


每個項目可被點擊
fun BleDeviceCard(bleDevice: BleDevice, navigateToLogin: (BleDevice) -> Unit) {
    Column(
        modifier = Modifier
            .clickable(onClick = { navigateToLogin(bleDevice) })

目前就是需要一個logbook,以及每個logbook點下去看到不同畫面。可以找個範例。

Jetpack compose

新的版面設計概念,不依靠XML,物件由程式依序寫入而生成。
基礎教學 連結,image 連結,progress bar  連結 連結。

Reminder

the app could also send reminders to patients before it is time to receive the injection.

DataBase



2023年12月31日 星期日

月世界惡地景點

月世界是台灣著名的惡地形(連結)。所謂惡地形,就我所知有下面三種。
  • 岩溶地形:喀斯特石灰岩地形,其質地柔. 軟、多孔隙,可溶於水。例如中國桂林。
  • 礫岩惡地:代表地點為苗栗火炎山(連結 連結 連結),其他如台中太平小桂林。
  • 泥岩惡地:代表位置為高雄田寮月世界,由於泥岩表面呈現灰白色,遠望去呈現一片荒漠的景象、以及泥岩表面存有一層鹽粉,在夜間會反射月光,故得月世界之名。範圍包括台南、高雄以及台東利吉(連結)。

最近一口氣去了三個與月世界相關景點。都在台南,分別是龍崎牛埔泥岩園區、玉井豐里,以及大內彩蝶山。三者型態各異,但若將縱深拉遠,彼此間有許多共通處。其中最明顯的是,月世界表面都是寸草不生。原因可能是泥岩滲水性低,植物無法生長,下面拍攝自牛埔,僅頂部和地面有些植物中間部分荒蕪一片。

牛埔

另外,想像中月世界會是像月球漫步般,是片廣大平地可讓人在其上行走。實際情形那都是或大或小的"山",都不會是平地,下圖彩蝶山為例,一側是陡坡,另一側是香蕉園,即使近在咫尺,但都難以攀爬。

第三個特點是,同樣是月世界量體大小卻有很大差異。小型的可能就像是一面高牆,寬度只有二十公尺,高僅五、六公尺。大型的就像山脈,寬逾公里,高度達六十或七十公尺。

小規模(牛埔)

大範圍(豐里)

山體型式,經過侵蝕作用頂端多半像劍,例如彩蝶山頂就如同金瓜石劍龍陵般呈鋒利劍形。

山壁表面有許多縱橫交錯的紋理,原因是月世界和火炎山的基本構成雖然都是石礫,但兩者的石礫大小差距很大。火炎山的石頭顆粒大動輒五公分十公分,水分容易滲透石礫將土壤帶走,剩餘的石塊可以堆疊成八、九十度垂直峭壁。月世界屬於泥岩,透水性低,遇水立即變得十分軟滑,順坡下流,所以表面會有很多裂痕。

彩蝶山

放大規模,可在山坡上看到無數蝕溝和雨溝,山壁傾斜角度較石礫平緩。重疊複製則形成刀刃狀的山峰體。(連結)

彩蝶山

會注意到惡地形,主要是因為那和一般生活經驗所見的平原、山林大相逕庭。若範圍夠大的確很壯觀,在豐里時因為只能遠觀,心想若有空拍機飛去左邊山抝細看有多好。因為去除了常見植物型態,更能注意到純粹形體和大自然侵蝕力的鬼斧神工。

但我也發現,在南臺灣月世界是很常見的地形,而且雖然牠全無生機,但讓我驚訝的是,就在惡地旁常常不到幾公尺就會有人工果園或河流,當地人完全不在意這惡地形,反而是我小題大作。兩種完全不同生態比鄰而居的衝突感非常耐人尋味。

豐里旁的果園

好像在拍汽車廣告(彩蝶山成景點)

彩蝶山旁果園(彩蝶山)
牛埔的月世界成為觀光景點
惡地與果園比鄰而居,仔細看右上方還有涼亭遺跡(彩蝶谷)