參考資料: https://github.com/cesanta/esp-open-sdk
1. 先安裝編譯工具
sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial sed git unzip bash help2man wget bzip2 libtool-bin
2. 建立工作目錄, 下載 esp-open-sdk 原始碼
cd && mkdir esp8266
cd esp8266
git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
cd esp-open-sdk
make
cd ..
3. 到 github 找一個範例來練習, Wifi Repeater 就是一個很實用的案例, 透過它可以延伸 Wifi 通訊的有效距離, 上官網https://github.com/martin-ger/esp_wifi_repeater 下載原始碼並解壓縮至工作目錄 esp_wifi_repeater-master, 接著在 linux 開發環境設定好環境變數 PATH 加入已編譯好的 cross compiler 所在路徑:
cd esp8266
wget https://github.com/martin-ger/esp_wifi_repeater/archive/master.zip
unzip master.zip
PATH=~/esp8266/esp-open-sdk/xtensa-lx106-elf/bin:$PATH
4. 修改檔案內容 esp_wifi_repeater-master/user/user_config.h, 改連家裡的 Wifi
#define WIFI_SSID "ssid"
#define WIFI_PASSWORD "password"
#define REMOTE_MONITORING 0
5. 修改檔案內容 esp_wifi_repeater-master/user/user_main.c, 找到 4301 行的定義
int i;
將上述行從 #if ACLS ... #endif 搬出來
6. 修改完存檔, 切到 esp_wifi_repeater-master 目錄, 開始編譯
cd esp8266/esp_wifi_repeater-master
make
7. 將 esp8266 的開發板接上 USB, 將上述編譯完的程式寫入
make flash
Note: 若無法寫入可能是 /dev/ttyUSB0 權限沒開, 將 linux 使用者 mint 加入 dialout 群組再重新開機
sudo usermod -a -G dialout mint
8.把 esp8266 開發板重新開機, 用手機掃描上述設定的 ssid, 得到 ip 應該是 192.168.4.x, 再用瀏覽器打開網頁連上 http://192.168.4.1, 如有需要可以將它修改存檔, 這個 wifi repeater 一開始不會問密碼? 那是因為密碼設定為 none, 因此可以透過網頁將他改設為 WPA2 後再存檔就能解決, 不用的時候也最好把電源關掉,避免被侵入手機透過家裡的 Wifi 連上網際網路.一切順利的話, 恭喜完成超便宜的 Wifi repeater.
沒有留言:
張貼留言