• #maker+t=market
  • COSPLAY 3D 建模
  • 3D列印服務
  • 1
  • 2
  • 3

Maker + T = Market 造訪社團

原文網址 Charlie Ting
2018-12-17 01:22:51

[HTTPS server based on ESP8266]

鬼打牆好幾天,終於把這個問題給解了,為了避免忘記就先留一下筆記,這當中有很多因為不熟悉而走的冤枉路,同好間若有相似的問題可以參考。

※硬體

一開始是使用 Arduino UNO + Ethernet shield, 這個可以架 http server, 但受限於記憶體和運算速度, 要跑 https 應該是很難。所以之後就換玩手上的 Wifiduino, wemos D1.

但 wemos 不是沒有缺點,最大的問題就是它的 IO 腳位太少,所以能控制的週邊就相對有限,這部份只能再往其他規格的版本作挑選。

※IDE

原先都是習慣用 Arduino IDE 在開發,但其實它的一些功能算是非常簡化的,剛好在 Github 找範例後,發現有人是用 PlatformIO 在開發,所以就花了一點時間去試 Visual Code Studio, 再將 PlatformIO 掛上去,然後把相關的 library, board 都弄上去。一開始是不太習慣,但 PlatformIO 是值得推薦的,主要原因是它可以讓設計者很清楚自己是用那些 library 在作那些事,整個設定都很清楚。

※ Certificates

這部份也是跑了不少冤枉路,因為對認證的東西從來都不熟。所以一般 example 裡的認證要怎麼用,其實都是用亂試的概念在弄。這部份主要是有兩種格式,DER 跟 PEM。
DER 是16進位碼,適合直接編進晶片裡;PEM是文字檔,為了方便管理,選擇把它存在 SD 卡裡,然後啟動時讀出來用。

另外,認證的產生方式當然可以自己用 OpenSSL 去產生,但是這個方式的認證在對外使用時會顯示不安全的狀態。所以這部份改用 Letsencrypt 的免費認證。

作法就是拿自己的某個域名,架一個空的 web server,然後用 certbot 替這個 web server 申請一組認證,再把這組認證的 PEM 檔存到 SD 卡上,之後這個 web server 的 IP 改成用 ESP8266 架的這個 https server,這樣就可以用受認可的認證來運作了。

缺點就是每三個月要更新一次認證,這也是為什麼會選擇用 PEM 格式存在 SD 裡面的原因了。

※ 盡信書不如無書,just try it

在網路上拿範例來改,真的是問題一大堆。但現在這好像是開發程式的常態,只能從別人的範例中去拼裝出自己要的東西。有時在想,用這麼多東西,但好像連函示庫裡究竟有多少東西都沒有仔細看過。也常遇到一些範例的功能其實根本不能用或有錯。這種都要自己改才行。像是這個 https server 的 NTP 功能就沒有正常運作。

總之,可以往下一步繼續前進了,可以把控制外部硬體的東西加上去了。

不過,未來的理想架構應該會是由 Raspberry PI 來當作中控主機,而 esp8266 這些只用 MQTT 的方式溝通傳值和控制硬體,人機介面的部份再用 web interface 連到 PI 上面去作控管。畢竟要跑 SSL 和較多吃效能的功能的話,ESP8266 的效能還是有限。

這部份等這些週邊元件都搞定後,再來作整合了。

感謝一路上提供建議資訊的同好們~~~謝謝!

雅竹題
2018-12-17 10:03:08

ESP8266上面的WEB我都是做無線基礎設定,無線連不上多久就自動轉熱點,再定時掃ssid,原本的ssid在就連到ssid之類的,當正常的web server效能真的有限

Charlie Ting
2018-12-17 10:41:35

我還沒優化到提升穩定性的部份, 不過真的是要留意一下變動後的 recovery 時間, 不然如果網路斷個線, 或AP當一下, 整個東西都要重新來過, 也是很麻煩.

雅竹題
2018-12-17 10:52:19

最後我只讓ESP8266乖乖的發MQTT至SERVER,SERVER的確也是用PI

Charlie Ting
2018-12-18 00:37:20

又多一個問題,就是 CORS,造成傳值被擋或重覆提交的狀況。
這點主要在於跨域整合,所以兩端會以 CORS 進行一次 OPTIONS 提交。所以程式上要針對不同的請求作過濾,以免重覆動作。

不過最大的問題還是效能,每次提交都要好幾秒才能完成,即時性太差了。安全性和方便性看來必須用其他方式處理了。先改用 MQTT。


原文網址 Charlie Ting
2018-12-14 19:50:32

[又在鬼打牆了,求救]

在 Arduino IDE 1.6.5 裡裝了 ESP8266 的 library,找了一個 example 是有關 https server 的要編譯,它裡面把 cert 跟 key 寫到程式用的 flash 區,但它這個語法會造成編譯時的錯誤。怪的是,如果你把這個參數分拆,有時候它是可以編譯的,有時候卻又不行。

static const char serverCert[] PROGMEM = R"EOF(
-----BEGIN CERTIFICATE-----
MIIDSzCCAjMCCQD2ahcfZAwXxDANBgkqhkiG9w0BAQsFADCBiTELMAkGA1UEBhMC
VVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU9yYW5nZSBDb3VudHkx
+TGimzSdeWDvGBRWZHXczC2zD4aoE5vrl+GD2i++c6yjL/otHfYyUpzUfbI2hMAA
5tAF1D5vAAwA8nfPysumlLsIjohJZo4lgnhB++AlOg==
-----END CERTIFICATE-----
)EOF";

有人知道這是什麼問題造成的嗎?
PS. 我有把這個變數長度縮減,不然它大概快1K。

James Lin
2018-12-14 20:02:24

R"EOF( ===> 這怪怪的?

Roy Lo
2018-12-15 00:10:18


原文網址 Charlie Ting
2018-12-11 16:21:02

[Need help]

有人知道電路板雕刻機的換刀機構是怎麼運作的嗎?

還是那邊有這個套件或模組呢?

好像該來弄一個~~~

感謝! m(_"_)m

柯紀維
2018-12-12 20:04:49

我前陣子也在找,目前只有看到銑床用的那種氣動筒夾,基本上就是氣動缸取代筒夾螺帽來迫緊換刀柄,但是目前看到的模組都有點大

柯紀維
2018-12-12 20:05:47

柯紀維
2018-12-13 12:21:10

所以後來我就決定自己做一個了

尤宏耀
2018-12-15 22:45:09

BT30換刀主軸才2萬多...你確定你還要自己搞@@

柯紀維
2018-12-17 18:39:56

其實我是要用來做自動上料,作業空間又很小所以沒辦法...我也超想買現成的


原文網址 Charlie Ting
2018-12-11 09:24:19

[數位攝影棚之燈光控制模組]

經過一番努力之後終於有點樣子了

目前先用有線的網路來做控制,操作介面使用網頁介面加上 jQuery 方式傳值,再來就可以看怎麼跟 ROS 串起來。

然後改成 WiFi 版本


原文網址 Charlie Ting
2018-12-11 03:39:12

[樹莓派]

這二天在用 arduino 架個簡單的 web server 作為和它連繫和控制的介面,雖然說程式很小很簡單,但限制也很多。

像是記憶體太小,頻率太低,簡單處理一些資料還好,但要作多點事情就難了。

但是也不可能每個地方都用樹莓派,就算是 zero 也太誇張。所以有可能是樹莓派用 485 去連 Arduino Nano ,arduino nano 串一些基本的電路,中間再訂一些 IO 協定作溝通。

然後樹莓定期將 log 上傳外部主機作監管和設定。

有人有搞過類似的東西嗎?

Roy Lo
2018-12-11 07:17:10

最近我們公司的下包商有用Arduno uno 當作介面,使用MQTT 通訊
https://www.google.com/url?sa=t&source=web&rct=j......
給你參考

郭俊志
2018-12-12 06:11:47

之前同學有使用過arduino mega 搭配 node mcu 上傳資料到database ,一開始是用uart ,不過他說資料容易丟失,後來改成spi,可以參考看看


原文網址 Charlie Ting
2018-12-09 18:35:31

[綜合工作台]

除了配電的端子排是買的之外,其他都是回收的。

在之前光洗個電路板就被慘電之後,發現回收了這麼多東西竟然都是收起來放著,沒派上用場。

痛定思痛後,決定該把這些東西都接起來,讓它們發揮應有的功能,所以就有了這個東西。

基本上4組溫控器可以用來監控不同的區塊溫度,然後再透過 SSR 去控制供電。

而 Relay module 的部份跟之前的 LED 燈條控制一樣,打算再弄一組用來控制低功率的供電。

內部電源部份預計提供 5V、12V和 24V方便使用。

water pump 則是用來強制水冷循環用的,因為之後會架上 ZVS 模組來處理一些簡單的退火和焠火需求。

總之,該動起來了~~~~ Rocks!

廖永慶
2018-12-09 18:41:52

這是什麼東西做什麼用的

莊小琮
2018-12-09 20:37:53

離子風扇@@


原文網址 Charlie Ting
2018-12-07 17:59:19

[我有病]

拿東西去客戶公司,路上看到二間資源回收廠,公事辦完後,立馬殺過去看看.....

可惜了。

在市區裡的資源回收廠好像週轉率太高,沒什麼好東西。

該趁正式轉冷之前,再多去尋尋寶才行。


原文網址 陳神力
2018-12-04 14:24:15

不知道各位熱愛DIY的Maker有沒有用過這玩意呢?
有甚麼心得分享給小弟的嗎?

洪維鴻
2018-12-04 14:28:20

我只有丟一台溫控烙鐵熱風槍組丟在淘寶購物車遲遲下不了手⋯⋯

銲錫繼續綁手指⋯⋯ ? ? ?

陳神力
2018-12-04 14:29:46

這台預計要結合分度圓盤與馬達,做成半自動點焊機。

Charlie Ting
2018-12-04 14:40:24

好像不錯!


原文網址 Charlie Ting
2018-12-03 01:55:03

[被慘電]

說起來有點丟臉,但覺得跟過去的經驗差太多,值得留個記錄,免得日後又忘了這慘痛的經驗。

話說為了搞數位攝影棚,先把地基處理好,接下來要搞照明,所以先用之前回收的 LED 燈管弄了很多要佈,但這些當然不會是一支接一個開關慢慢開,所以就把之前回收的 Relay module 來出來用,再透過位移暫存器來控制,初步實驗是OK的,電路和程式都很簡單。

但一切惡夢就從買到的 TB62706BN 這顆 pitch 1.778mm 的 IC 開始....

首先,光是零件在台灣都買不到,只能從淘寶上找,也不是那麼好找,這可以理解現在科技進步,所以腳位越來越密,但這種密度造成不小的困擾。

然後,不論是 EAGLE 和 KiCAD 也都沒有找到這樣的 footprint,原本還幻想著可以從網路上找到,最後發現 KiCAD 的操作概念比較簡易,所以用 KiCAD 自己畫,終於處理掉。

洗板子,本來想說用感光式的PCB來用,順便把那台快三十年前的紫光燈拿出來用,結果光是買投影片就超難找,市面上的店幾乎都沒賣,不然就是不耐高溫的賽璐絡片。最後在PCHOME上才找到,然後在電子材料時也才看到他們也有賣,只是比較貴。

曝光的問題解決了,再來就是顯像。這實在是失敗率頗高的步驟。因為沒有設備,只是簡單放在容器裡顯像,結果發現它的顯像速度有太多變數,像是紫外燈照多久、溫度、濃度、液體使用壽命;然後常常顯像的速度不一致,也不均勻,造成線條粗細不穩,也有些沒洗乾淨,變成很難控制。

蝕刻

以前都是用一種棕黃色的液體在蝕刻,現在改成一種透明溶液,刻完後液體變淺藍色(可能是X酸銅),這個動作因為上一個動作的光罩去除不均勻,也常常造成銅箔粗細受到影響。結果就是都盡可能的用粗一點的線條,免得斷掉。但線條一粗,PCB 的 route 就不好 layout,結果一直改。

鑽孔

好不容易蝕刻好之後,開始鑽孔~~~哇哩咧,0.6mm的孔以現在的視力真的是看不到東西在那裡。最後只好把舊手機架起來當放大鏡用,透過螢幕去看才捉得準。但這又產生另一個問題。

對位

因為幾乎無法使用單層板來 layout,用雙層板然後透過 via 來串接電路可以優化許多,但前提是你兩層的定位要夠準,不然 0.6mm 的孔,1.2mm 的 via,隨便一偏就歪了。via 偏掉事小,那個 1.778mm pitch 的IC腳位偏掉,東偏一點,西偏一點,最後會搞死人。

焊接

因為用了雙層板,結果有些焊點被零件蓋住,等於必須按照一定的順序才能焊完,有些甚至要特別留空隙去焊。

助焊劑

因為腳位太密、間隙太細、顯像及蝕刻的殘餘物以及助焊劑似乎帶酸性,結果有些腳位竟然放大看是開路的,但上電後卻會變短路,甚至有火花。

事情還沒完~~~

這一連串的問題下來,已經搞得讓人開始懷疑人生了,更扯的是,第一版作出來的電路都 tune 好了之後,想說為了避免短路,在電路板上噴上絕緣保護漆,結果它卻變成誤動作。只好再把它洗掉,但最後還是怪怪的,而且電路太擠很難維修,就乾脆重作。

之後想到手上的 UV 印表機,捨棄用投影片作光罩的方式,直接用 UV 印表機把電路印在雙面銅箔的 PCB 上面,這樣的動作其實比投影片快得多,也較省。因為不需要有投影片,不用紫光燈照射,也不用顯影,印的速度基本上頂多一二分鐘。但也不是沒缺點,就是雙面時的定位要很準,這個的難度比用投影片高一點。

之後一樣丟下去蝕刻,基本上 UV 硬墨比 UV 軟墨合適,比較不會剝落,而且不用太厚,印太厚並沒有比較好。但是一樣會出現毛細現象的問題,太細的地方因為對流狀況不佳,容易有殘留。所以可能要像蝕刻機一樣用汽泡浴的方式處理。

最後,用了最笨的方法,

1. 先作一個轉接板,把 1.778mm pitch 的 IC 腳位改為 2.54mm 的 PIN 腳,順便把電容和電阻作在轉接板上,簡化電路。

2. 再作一個配線板,上面主要就是作各種訊號的串接,只有轉接板和連接器,其他什麼零件也沒有。

3. 因為簡化電路之後,via 的數量大幅下降,另外難焊的零件也都把焊點盡量控制在背面。

但最後 32 port 的訊息還是有一個 port 的準位異常。

不過這點也很難說到底是電路有問題,或是 IC 有狀況了,因為在重覆施作的過程中,發現淘寶賣家以新舊零件混在一起出貨,有些 IC 是全新的,有些則是回收品,有些甚至針腳斷了 1/3,搞不好根本焊不到。

這幾天這樣折磨之後,發現對電路的觀念完全停留在二十幾年前的認知,現在完全不是那回事了。也難怪現在大家都盡可能用擴充板的方式在作試驗,而不是重新 layout 板子。因為 SMT 的技術才能把體積作到很小,但線路要細如髮絲的話,不靠機械自動化生產是作不到的,這又要有量。

在這樣多重阻礙的情況下,一般 maker 要把電路的佔比放大的機率恐怕很低。而在這樣的情況下,看來有很多值得優化的空間,也有很多的資訊需要重新 update ,之後不能再這樣硬幹了。

洪維鴻
2018-12-03 02:45:04

銅蝕刻液主成分就高濃度雙氧水~

摸到會癢刺,皮膚會直接發白膨脹~比鋁蝕刻液舒服些⋯⋯ ? ? ?

楊明
2018-12-03 07:26:42

洗電路板?你有CNC直接放下去刻就好了啦!又不是大量的。

戴士偉
2018-12-03 07:58:50

看完心路歷程被慘電XD

Clarence Lee
2018-12-03 10:10:16

疑 這應該直接gerber out 丟對岸pcb打樣比較快又省時吧 (or seeedstudio也就很方便了) 也可以直接安排代找料跟打件
PCB打樣對岸的價格還是可以考慮使用的~

李穆
2018-12-03 23:39:39

電路板怎麼沒考慮用雷雕模組來做曝光?


原文網址 Charlie Ting
2018-11-28 15:59:46

讚耶~~~這就能邁向第一步了!

王智立
2018-11-28 16:04:09

這個跟市面上的刺繡機差不多意思了。


 

討論主題

發文排行榜

回文排行榜

熱門關鍵字