2024年5月12日 星期日

Making a Chromecast receiver

買一個 ChromeCast,很便宜,但使用起來讓人超不爽的。在 3代之後,廣告超多,這也就算了,遙控器按一按就好。讓人抓狂的是手機連不上,按了連接後,電視沒反應。更扯的是,電視一直播廣告,手機的影片時間也在跑,它把廣告當成我要看的影片唬弄我。

不只是我討厭,很多人都不爽吧,因此有人想要自己搞 ChromeCast,只是 Google 不一定准,會卡掉。

Making a Chromecast receiver,不太知道這個的用法,它是根據 "an Android app called AirReceiverLite which can act as a Chromecast receiver"。

從Linux安裝Chromecast,用 Linux 連 ChromeCast。

interfect/castanet.sh,問題是要怎麼找到 reset 後的 CHROMECAST_IP?

https://www.expressvpn.com/blog/chromecast-factory-reset/

Cannot SET UP Chromecast on Linux

How to set up a Chromecast without logging in to Google Home?

在 Linux 上使用的方式,Linux 使用 VLC 投放媒體至 Chromecast

1. 可能的作法

A simple solution (2019-Mar-15) I used successfully is to:

  1. Download an older portable version of Chrome (not sure about direct links posting rules here, a search for "portable chrome 71 stable" should get you there
  2. Extract and run this portable version
  3. Navigate to chrome://cast
  4. Setup should work

2. 需要專業技巧的作法 

Chromecast gen 3

I followed this post: https://superuser.com/a/1692253

tldr:wget https://gist.githubusercontent.com/interfect/5f68381d55658d334e2bc4619d796476/raw/1d16ead908a92742d5f22231a2611242d673654f/castanet.sh

chmod +x castanet.sh

CHROMECAST_IP=192.168.0.100 WIFI_SSID="foobar" WIFI_PASSWORD="hackme" ./castanet.sh

make sure you have jq and nodejs installed or the script doesn't work.

NOTE: to get the initial chromecast IP you have to connect to it's wifi hotspot (ChromeCastXXXX) and then use wireshark on your laptop/desktop's wifi interface to see it. Filter for arp requests. There will only be 2 IPs; your wifi interface and the Chromecast. Use the IP for the Chromecast in the spot above.

參考 瞭解詳情:找不到裝置,相關敘述 "連上與 Chromecast、內建 Chromecast 的電視/揚聲器、Google Home 或具備助理裝置的電視/揚聲器相同的 Wi-Fi 網路。尋找與 GoogleHomeXXXX 或 ChromecastXXXX 類似的名稱。"


2024年5月7日 星期二

珍妮 3D 打印機主控板 20160428Ver1.35B

從網友那裡接收一台淘寶的珍妮類 UltiMaker 2 印表機,使用珍妮自己的主控板。在網路上完全找不到該主控板的相關資料,但因為它使用 32位元的 MCU,所以就留著一直想要怎麼才能把它拿來使用。

後來找到可在 STM32 上跑的 Forth,再透過 Forth 兼具 compile 和 interactive 的特性,慢慢整理各控制腳的資料。

上圖是主控板的正面。

上圖是主控板的背面。標示公司網站 www.jennyprinter.com,但無法連上該網站。板子的相關資訊 JPBoard,20160428Ver1.35B,NO.160801060B。搜尋這些關鍵字都沒有結果。


使用的 MCU 是 STM32F407VET6。MKS Monster8 也是使用這一顆 MCU,但 Monster8 可接 8個步進馬達。從版本編號來看,是 2016 年出的板子,當初買這板子應該也蠻貴的吧,因此一直捨不得丟,想著要怎樣才能使用它。

從電路板的外觀來看,這板子是參考 RAMPS 1.4 設計的,那兩顆自恢復保險絲 (PPTC) 是 RAMPS 1.4 才有的,而且後來版本的 RAMPS 的接線座也改了。

後來找到可在 STM32 上執行的 Forth,板子上也有 ISP 腳位,可以燒寫 Firmware。就透過 Forth 慢慢收集各個控制的對應的 MCU PIN 腳。

把控制腳,如步進驅動的 DIR,接上 LED 和 電阻,再用 Forth 程式對所有的 PIN 輪流送出幾個方波,看到那一個腳 LED 會閃。刪開始,測試一個控制腳要花比較長的時間,後面可以把已知的腳去除,就快多了。就這樣,大致把所有腳位都確認了。

連接 12864 LCD 

不太熟悉這個規格,參考 Anycubic kossel Delta 的 Klipper 設定檔。其型式為  -- "RepRapDiscount 2004 Smart Controller" type displays,lcd_type: hd44780。

下圖 fysetc 的 EXP1/EXP2 的圖示。

若只要用 LCD,使用到的腳為 reset,enable, d4, d5, d6, d7,encoder1, encoder2, click,5V,GND。SD 卡的控制信號就不要管了。

關於 kill 信號,fysetc 的說明「為了兼容某些主板,如 RAMPS1.4,FYSETC mini12864 設置了 RST(R3) 和 KILL(R4) 的可選擇電阻。目前,有些主板(S6/Spider)将 KILL 换成 5V,此時,請確認 mini12864 上 R4 處於空贴狀態,否则按下屏幕上的按钮會致使 5V 与 GND 短路,長时間操作會導致主板損壞。」MKS 的板子則是將 KILL 信號接到 3.3V。

所以,kill 不要接,也不要用,設定裡也不要設定。

改靜音驅動 TMC2209

為了相容於以前的 A4988 和 RAMPS,各家的電路略微的不同,但最後大致改得差不多。

TMC2209 採用單線的 UART。若要變成兩條線,此信號為 RX,串一個電阻後,當成 TX。早期的 TMC2209 遵循此作法,如 MKS,pin-4 為 pdn_uart,即 RX,串一個1K電阻連到 pin-5,當作 tx。但有的主板 rx 和 tx 的腳位反過來,因此不同家的驅動插到別家的主板,會不能用。

但後來各家的驅動都直接把 pin-4 和 pin-5 短路,不管插那一家的主板都可以用。只是在舊的主板上使用,要注意有的直接設定 A4988 為 16微步,亦即將 MS1~MS3 全部接到 VCC。必須將 MS3 的腳拔起來不要接,不然可能燒掉驅動。

另外,RAMPS 控制板的 pin-5 和 pin-6 是短路的。所以,pin-4, pin-5, pin-6 實質上是短路的。

至於這塊珍妮的主板,只要 MS1~MS3 的跳線不要接就好。

關於 Klipper 安裝設定

編譯 Klipper firmware 的注意事項,因電路設計問題,在 reset 之後,熱床和列印頭可能直接加熱,直到開機完成,才會關閉。

設定如上,因為板子上的 USB 插座是 UART1,沒辦法透過 USB 燒寫 firmware,所以不用 bootloader。communication interface 就選 UART1。

另外,"GPIO pins to set at micro-controller startup" 項目要加入 "!PA3, !PB6, !PB9, !PB8, !PC7, !PC6, !PB13",前面加 '!' 表示要將輸出設為 Low。這個設定是將 P12 接頭的輸出全部關掉,包括加熱器和風扇。

PCB 上驅動熱床的 MOSFET,明顯比較大顆,IRF1010ES,Vds: 60V,170W,Gate Threshold Voltage 2V~4V。但不知是那邊的問題,在開機沒輸出時,G的電壓為 5V左右,MOSFET 會完全導通,熱床電壓為 24V。但在 klipper 啟動熱床時,G的電壓為 3.3V左右,MOSFET 不會完全導通,接 LED燈條,電壓約 15V,FET 的 DS 壓降為 8V左右。接熱床則量不到電壓。HE0, HE1 的輸出則能正常運作。只能用 HE1 輸出,外接 MOSFET 來驅動熱床。HE0, HE1 的 MOSFET - IRLR7843,Vds: 30V, 140W,Gate Threshold Voltage 1.5V~2.3V

參考 IRF1010E N-Channel MOSFET: Datasheet, Pinout, Equivalent,有一些使用上的說明。





網誌存檔