เริ่มจากเดือนก่อน laptop macbook pro สู่ขิตหลังจากทำ project https://www.atime.live จบตอนมีนาพอดี coding วัน 16 ชั่วโมงอยู่ 4 เดือนเต็ม ไม่มีวันหยุด laptop สู่ขิตคามือเลยทีเดียว
หลังจากนั้นผมได้สั่ง mac mini m1 มาทำงานที่บ้านแทน laptop ที่สู่ขิตไป คิดได้ว่า เห้ยย ถ้า m1 เป็น apple silicon แล้ว ทำไม ipad pro m1 apple silicon ถึง run docker หรือ env ต่างๆด้วยกันไม่ไดัวะ ทั้ งๆที่เป็น arm เหมือนกัน เลยมีความพยายามที่จะพก ipad ออกมาทำงาน เวลาไปเที่ยวกับลูกกับเมียที่ต่างจังหวัด จะได้ไม่ต้องยก desktop ไปให้วุ่นวาน
ยกมาทั้งกองทัพ เผื่อ support งานลูกค้า
กลับมาบ้าน รู้สึกชีวิตมันไม่สะดวกเหลือเกิน จะซื้อ macbook เลย ตัว ram 16 ก็ราคาสูงไป ต้องทำงานหลายเดือนเลยทีเดียวกว่าจะซื้อได้ programmer เมืองนอกทำแพ้พเดียวก็ได้ tools พวกนี้มาทำงานละ
โจทย์เลยมีอยู่ว่า อยากได้ บางๆ พกง่ายๆ ใส่ก ระเป๋า แล้วบิด harley ออกได้เลย เลยมามอง ipad แทน ไปๆมาๆ ipad แพงกว่า macbook 13 อีกนะ แต่ตอบโจทย์เรื่องความบางและการพกพา และการบีบบังคับตัวเอง ให้ไม่ทำงานหนักๆเวลาไปเที่ยวกับครอบครัว ซึ่งมันควรเป็นเวลาครอบครัวไง
พอได้ ipad มาแล้ว ก็ไปรื้อ raspberrypi จากตู้มาก่อน ที่ต้องใช้ ก้อ pi 4 มีติดบ้านอยู่พอดี
จากนั้นเอา มาลง os จาก image
จากนั้นให้ raspberrypi เราต่อ wifi ได้ก่อน
wpa_supplicant.conf
country=THctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1network={ssid="WIFI SSID"psk="WIFI Password"}
จากนั้นให้เรา ssh จากคอมเราเข้าไปที่ raspberrypi เพื่อทำการ config
โดยให้เรา run
sudo raspi-config
เพื่อทำการเปิด VNC ที่ raspberrypi ของเรา
จากนั้นให้ทำการ update package ต่างๆ
sudo apt updatesudo apt upgrade -ysudo apt install dnsmasq -y
จากนั้นให้เรา
sudo su
และ ทำการ config USB-C ให้แสดง Ethernet บน Ipad
echo "dtoverlay=dwc2" >> /boot/config.txtecho "modules-load=dwc2" >> /boot/cmdline.txtecho "libcomposite" >> /etc/modulesecho "denyinterfaces usb0" >> /etc/dhcpcd.conf
จากนั้นจะไ ปแก้ไข config vi /etc/dnsmasq.d/usb
interface=usb0dhcp-range=10.55.0.2,10.55.0.6,255.255.255.248,1hdhcp-option=3leasefile-ro
vi /etc/network/interfaces.d/usb0
auto usb0allow-hotplug usb0iface usb0 inet staticaddress 10.55.0.1netmask 255.255.255.248
vi /root/usb.sh
#!/bin/bashcd /sys/kernel/config/usb_gadget/mkdir -p pi4cd pi4echo 0x1d6b > idVendor # Linux Foundationecho 0x0104 > idProduct # Multifunction Composite Gadgetecho 0x0100 > bcdDevice # v1.0.0echo 0x0200 > bcdUSB # USB2echo 0xEF > bDeviceClassecho 0x02 > bDeviceSubClassecho 0x01 > bDeviceProtocolmkdir -p strings/0x409echo "fedcba9876543211" > strings/0x409/serialnumberecho "Ben Hardill" > strings/0x409/manufacturerecho "PI4 USB Device" > strings/0x409/productmkdir -p configs/c.1/strings/0x409echo "Config 1: ECM network" > configs/c.1/strings/0x409/configurationecho 250 > configs/c.1/MaxPower# Add functions here# see gadget configurations below# End functionsmkdir -p functions/ecm.usb0HOST="00:dc:c8:f7:75:14" # "HostPC"SELF="00:dd:dc:eb:6d:a1" # "BadUSB"echo $HOST > functions/ecm.usb0/host_addrecho $SELF > functions/ecm.usb0/dev_addrln -s functions/ecm.usb0 configs/c.1/udevadm settle -t 5 || :ls /sys/class/udc > UDCifup usb0service dnsmasq restart
chmod +x /root/usb.sh
vi /etc/rc.local
เพิ่มบรรทัดนี้ก่อน exit 0
sh /root/usb.sh
จากนั้นให้เราไป Install docker และ docker compose บน raspberrypi แล้วหลังจากนั้นจะลองพิมพ์คำสั่ BLink.sh บน ipad ให้เรียบร้ อย
แค่นี้ เราก้อจะใช้ VSCode แบบไม่ต้องลง code-server บน ipad เขียน golang หรือ nodejs ได้อย่างสะดวกแล้ว
Quick Links
Legal Stuff