HomeArtTechHackBlockchain

Set up iPad Pro M1 for Web Development

By Khomkrid Lerdprasert
May 23, 2022
1 min read
Set up iPad Pro M1 for Web Development

Set up iPad Pro M1 for Web Development

เริ่มจากเดือนก่อน 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 m1
ipad m1

พอได้ ipad มาแล้ว ก็ไปรื้อ raspberrypi จากตู้มาก่อน ที่ต้องใช้ ก้อ pi 4 มีติดบ้านอยู่พอดี

raspberrypi

จากนั้นเอา มาลง os จาก image

choose os
choose os

choose os 2
choose os 2

จากนั้นให้ raspberrypi เราต่อ wifi ได้ก่อน

wpa_supplicant.conf

country=TH
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WIFI SSID"
psk="WIFI Password"
}

จากนั้นให้เรา ssh จากคอมเราเข้าไปที่ raspberrypi เพื่อทำการ config

โดยให้เรา run

sudo raspi-config

เพื่อทำการเปิด VNC ที่ raspberrypi ของเรา

จากนั้นให้ทำการ update package ต่างๆ

sudo apt update
sudo apt upgrade -y
sudo apt install dnsmasq -y

จากนั้นให้เรา

sudo su

และ ทำการ config USB-C ให้แสดง Ethernet บน Ipad

echo "dtoverlay=dwc2" >> /boot/config.txt
echo "modules-load=dwc2" >> /boot/cmdline.txt
echo "libcomposite" >> /etc/modules
echo "denyinterfaces usb0" >> /etc/dhcpcd.conf

จากนั้นจะไปแก้ไข config vi /etc/dnsmasq.d/usb

interface=usb0
dhcp-range=10.55.0.2,10.55.0.6,255.255.255.248,1h
dhcp-option=3
leasefile-ro

vi /etc/network/interfaces.d/usb0

auto usb0
allow-hotplug usb0
iface usb0 inet static
address 10.55.0.1
netmask 255.255.255.248

vi /root/usb.sh

#!/bin/bash
cd /sys/kernel/config/usb_gadget/
mkdir -p pi4
cd pi4
echo 0x1d6b > idVendor # Linux Foundation
echo 0x0104 > idProduct # Multifunction Composite Gadget
echo 0x0100 > bcdDevice # v1.0.0
echo 0x0200 > bcdUSB # USB2
echo 0xEF > bDeviceClass
echo 0x02 > bDeviceSubClass
echo 0x01 > bDeviceProtocol
mkdir -p strings/0x409
echo "fedcba9876543211" > strings/0x409/serialnumber
echo "Ben Hardill" > strings/0x409/manufacturer
echo "PI4 USB Device" > strings/0x409/product
mkdir -p configs/c.1/strings/0x409
echo "Config 1: ECM network" > configs/c.1/strings/0x409/configuration
echo 250 > configs/c.1/MaxPower
# Add functions here
# see gadget configurations below
# End functions
mkdir -p functions/ecm.usb0
HOST="00:dc:c8:f7:75:14" # "HostPC"
SELF="00:dd:dc:eb:6d:a1" # "BadUSB"
echo $HOST > functions/ecm.usb0/host_addr
echo $SELF > functions/ecm.usb0/dev_addr
ln -s functions/ecm.usb0 configs/c.1/
udevadm settle -t 5 || :
ls /sys/class/udc > UDC
ifup usb0
service 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 ให้เรียบร้อย

https://blink.sh/

Blink Shell
Blink Shell

แค่นี้ เราก้อจะใช้ VSCode แบบไม่ต้องลง code-server บน ipad เขียน golang หรือ nodejs ได้อย่างสะดวกแล้ว

Ipad PRo M1
Ipad Pro M1


Tags

#golang#blink.sh#raspberrypi#ipad#docker

Share

Previous Article
บันทึก การทำ Hexagonal - gofiber - graphQL - Postgres จ่ะ
Khomkrid Lerdprasert

Khomkrid Lerdprasert

Full Stack Life

© 2024, All Rights Reserved.
Powered By

Quick Links

Author

Social Media