OpenWiFi介紹

OpenWifi 是一個基於FPGA和SDR實現wifi的開源項目。

在這個git網址下:

https://github.com/open-sdr

可以看到有四個子project:

  • openwifi

  • openwifi-hw

  • openwifi-hw-img

    • 已經編譯好的img,可以燒錄到板子上

  • openofdm

    • OFDM的Verilog

  • 我用來開發這個項目的板子是 NeptuneSDR,是Zynq 7020 + ADI 9361, 圖示如下,有四根天線:

 

關於竹適子

這裡是竹適子的部落格,分享一些IT與數位/無線通訊的軟體、韌體、FPGA技術經驗分享。

OpenWiFi、GNU Radio 硬體

OpenWRT開發

樹莓派 (Raspberry 5)開發

ESP32S3 for IOT 開發

技術學習心得經驗分享

一個介於IT、通訊、DSP的自由工作者,探索軟體、韌體、Verilog的學習經驗心得分享。以下是目前有興趣的領域(其中1~5項均有硬體開發板可以使用,有興趣購買者,可以E-Mail給我):

  1. ESP32:以Arduino開發WiFi/BT IOT相關應用為主,也會研究Espressif ESP-IDF的 RTOS
  2. OpenWiFi: 包含 openwifi的mac f/w及 fpga的Verilog
  3. GNU Radio: 以GNU Radio來模擬驗證數位/無線通訊的理論
  4. 樹莓派:使用樹莓派來發展IOT應用,或是做為桌機建立特定伺服器
  5. OpenWRT:目前WiFi Router著名的open source,深入了解架構及實作
  6. IT++/C++:基於對C++與通訊理論的熱愛,藉由IT++來研究一個中小型專案的C++設計方式
  7. Flutter/QT: 目前流行的跨平台 (Android/iOS/Windows)開發框架

 

ESP32 開發

ESP32 是一系列低成本,低功耗的單晶片微控制器,整合了Wi-Fi和雙模藍牙。 ESP32系列採用Tensilica Xtensa LX6雙核和單核微處理器,內建無線開關,RF換衡器功率放大器,低噪聲接收放大器,濾波器和電源管理模組。

我們主要會使用到的是ESP32-S3,主要規格如下(可以下載中文版datasheet英文版datasheet):

  • 雙核 Xtensa® LX7 微處理器, 高達 240 MHz,[11] 支援 單精度 浮點處理器
  • 支援用於機器學習加速的擴充指令集
  • 512 KiB SRAM, 384 KiB ROM, 16 KiB RTC SRAM
  • 支援在SPI匯流排上外置PSRAM和Flash ,使用同一個32MiB位址空間
  • 超低功耗 RISC-V (RV32IMC) 協處理器
  • 超低功耗 有限狀態機 協處理器
  • WiFi 2.4 GHz (IEEE 802.11 b/g/n)[12]
  • Bluetooth 5.0 (低功耗藍牙)
  • 44 個 可程式化GPIO
  • 2 個 12位元 SAR ADC, 多達 20 個通道
  • USB OTG

我們要一步一步的使用Arduino做完以下的實作:

  1. 環境建立與基礎操作
  2. 周邊控制入門
  3. 感測器應用
  4. TFT 顯示
  5. BLE 藍牙通訊
  6. Wi-Fi + Web 應用

主要使用到的開發板如下所示:

也有類似官方出的開發板: