基於ESP32與phyphox的物理DIS實驗開發(1)

2021-12-26 寧中物理創新實驗室

     前言

    從2009年開始研究自製DIS實驗,不知不覺已經過去十多個年頭了。在這十多年裡,創客、創客教育、STEAM教育等等如雨後春筍般遍布全國各地,而自製傳感器實驗正是物理實驗與創客教育的深度融合。在剛開始的幾年裡,DIS實驗都遇到過很多老師的質疑。那麼,在高中物理階段,有麼有必要使用傳感器來進行物理實驗?

    伽利略在進行斜面實驗時,造了一臺「水鍾」來進行計時,如果那個年代已經有了手錶,請問他是會使用手錶還是自己造一臺「水鍾」來進行實驗呢?我想他或許會自己改進一隻手錶。那麼在現在這個信息化的年代裡,使用傳感器來測量一些物理量為什麼會遭到那麼多老師的反對呢?我想主要原因有兩點,一是考試考的都是傳統的實驗器材;二是老師們接觸到的傳感器實驗都是現成的DIS實驗器材,而這些DIS實驗使用時會忽略很多的物理過程,缺少對學生物理思維的培養。關於第一點,我們無能為力,但是第二點,正是本課程致力解決的!相信只需要一兩節課,你就會體會到傳感器實驗裡也需要物理思維,而且更需要創新思維!畢竟物理要學的並不僅僅是前人已經有的那些知識和經驗,更需要學的是他們在面對問題時的思維方式!

簡介

一、現有DIS實驗系統

   DIS(數位化信息系統)實驗系統由三個主要組成部分:1、傳感器;2、數據採集器;3、數據顯示以及處理終端。傳統的DIS實驗設備的數據顯示以及處理終端往往是計算機上安裝的軟體,當然也有開發了手機端APP的(例如PASCAL),傳感器與數據採集器以及數據採集器與電腦之間往往都是使用有線的方式進行連接,當然也有用藍牙方式進行連接的。

  DIS系統已經在教學中使用10多年了,它的優勢和弊端相信大家都比我更熟悉了。

二、自製DIS實驗系統

  自製DIS實驗系統組成部分與現有的差不多,主要使用了開源硬體(例如Arduino、ESP32等)來作為數據採集器,使用創客常用的傳感器模塊(例如超聲波測距儀、巡線傳感器等)作為傳感器,當然具體的數據採集與發送需要自己編程解決。

  自製DIS實驗裡數據顯示以及處理終端有非常多的選擇:

  1、可以直接使用串口監視器就可以收集到數據,但是這種方式僅僅只能顯示數據,可視化程度太差;

  2、使用FLASH動畫來接收數據,並以動畫的形式呈現數據,這種方式可視化效果非常好,而且很多會FLASH製作的老師上手也很快,我在最初的幾年裡一直都以FLASH動畫來作為顯示終端,只可惜FLASH在這幾年逐漸沒落,最終所有的瀏覽器都棄用了它,所以再繼續研究下去顯然已經沒有意義了。

    

  3、自己開發一款軟體或者手機APP作為顯示終端...難度太高,關鍵是我不會...而且就算開發了,也不太適合推廣,畢竟個人開發的軟體肯定比不上公司開發的,那還不如直接用已有的DIS實驗設備算了。

  4、使用電腦、手機自帶的瀏覽器作為顯示終端,用物聯網的方式來傳輸數據...難度高,但是是我這幾年的研究方向,等研究完了分享給大家。

  5、使用已有的軟體或者APP,本來沒有想過這個方法,在一次省自製教具大賽中,有老師向我推薦了一款APP:phyphox。這是一款可以使用手機自帶的傳感器進行實驗的APP,免費下載。蘋果的可以在自帶的appstore裡下載,安卓的可以百度。原來覺得這麼一款軟體僅僅只能使用手機上的一些有限的傳感器,能做的實驗並不多,也就沒太在意。後來在一次偶然間把玩時發現它竟然還可以新建自己的實驗,甚至為藍牙設備添加實驗,這立馬引起了我的興趣,然後打開它的官網www.phyphox.org好好研究了一番,發現這款APP簡直就是自製DIS實驗夢想中的顯示終端。有了phyphox,自製DIS實驗教具將會迎來一個新的時代!為了讓更多的同行加入到這個行列,我將自己研究所得分享與大家。

第一篇:初識ESP32    

      「ESP32是樂鑫信息科技推出的一塊集成了WIFI、藍牙的晶片。ESP32 集成了天線開關、射頻 balun、功率放大器、低噪放大器、過濾器和電源管理模塊。2.4 GHz Wi-Fi 加藍牙雙模晶片採用 TSMC 低功耗 40nm 技術,功耗性能和射頻性能最佳,安全可靠,易於擴展至各種應用。」

     以上是網上搜索來的介紹,想要了解更多的請自行百度。

     其實和phyphox可以連接的還有Arduino,但是如果使用Arduino就還需要配一塊藍牙串口模塊,某寶上這兩樣東西加起來估計都要100左右了,而一片ESP32,不僅性能比Arduino好的多,而且還集成了藍牙與WIFI,價格才不到30,關鍵是同樣可以使用Arduino的IDE來編寫程序,使用起來與Arduino一樣簡單,所以無論怎麼看,ESP32都是不二之選!

    學編程的第一個程序往往都是「HELLO WORLD!」而學硬體編程的第一個程序往往都是點亮一盞LED燈!所以,就讓我們開始進入正式的課程吧!不過在這之前,請去淘寶買一塊ESP32!我買的是安可信科技家的,之後的教程裡也都用他們家的ESP32來講解。

 一、點亮一盞燈(以下內容等你的快遞到了再看吧:)

1、下載Arduino IDE軟體

    首先先要下載Arduino IDE,也就是用來給ESP32寫入程序的軟體,我們也會在裡面寫代碼(想著還要寫代碼,是不是有點恐慌啊,不要擔心,這個點燈的課程我最小給小學六年級小朋友上過,但是如果你小學還沒有畢業,那麼下面內容請不要看了哦!),在萬能的百度裡輸入「Arduino 官網」:

進入官網後點擊SOFTWARE(軟體)

    找到右側綠色窗口中的 Windows zip file選項,然後點擊下載。

    下載完後解壓開來就可以用了,不需要安裝。

2、安裝ESP32的驅動

    安可信科技家可以選擇的ESP32 有兩種,一種是CP2102,一種是CH340,當然後一種便宜點。這兩種的區別是連接電腦的串口晶片選擇不同,功能上前一種穩定點,但是貴不少,我買的自然是便宜的,因為用起來都一樣啊。

    首先呢將ESP32通過數據線插到電腦的USB埠上,然後電腦應該會跳出自動安裝驅動之類的,但是最後會安裝失敗,不管它。

    先打開設備管理器,如果是WIN10,可以直接在左下角的搜索框裡直接輸入「設備管理器」,進去後如圖:

    你應該可以看到一個未知設備,這就是我們的ESP32。這時你會發現在「其他設備」裡會有一個「未知設備」,右鍵單擊未知設備,在出現的菜單中選擇「更新驅動程序」

在之後的頁面中選擇「瀏覽計算機以查找驅動程序軟體」

單擊「在以下位置搜索驅動程序軟體」下的「瀏覽」按鈕,找到你下載下來的arduino文件裡的drivers文件夾,然後點擊確定

    然後你的驅動就安裝好了,在設備管理器的埠裡應該可以看到新的設備了,名字為USB-SERIAL CH340(COM3),請注意,我的電腦中是COM3,但是你的電腦中未必是3號哦,請記住你自己的COM號,之後會一直要用到哦!

    3、在Arduino IDE中添加ESP32開發板

    現在我們回到下載的arduino文件夾中,雙擊名為arduino的應用程式打開軟體:

    點擊左上角的文件菜單,並且進入裡面的首選項子菜單:

在附加開發板管理器網址內填上:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

填好後點擊「好」確定,然後點擊工具菜單,進入開發板管理器:

    在裡面搜索esp32,然後再搜到的esp32內點擊安裝,如果中途中斷請重複幾次,直到安裝成功。

    安裝成功後再次進入工具菜單,點擊開發板,就可以看到開發板裡多了ESP32 Arduino選項,然後選擇裡面你所買的板對應的選項,由於我們買了安可信家的NODEMCU-32S,就選擇NODEMCU-32S選項。

    選好後再次點擊工具,選擇ESP32對應的COM號,我的是3號,你們填之前記住的號碼!

    4、編寫第一個點燈程序

    是不是覺得上面的步驟超級麻煩,不過苦盡甘來,以上步驟只需要設置一次就可以了,之後不再需要了!

    當然我假設你完全沒有程序的概念,所以第一個點燈的程序用現成的程序就可以了,以後要用到編程的地方也僅僅是在原有程序上修改而已,不需要全部自己編的!

  

點擊實例裡的Basics裡的Blink,打開點燈的程序:

    然後點擊文件菜單下的向右的箭頭按鈕:

    之後稍等片刻,程序就會自動寫入到ESP32,然後觀察一下你的ESP32,是不是裡面的一盞藍燈在閃爍!

    好了,我們的第一篇就講到這裡了,簡單回顧一下:

    (1)簡單介紹了自製DIS實驗系統的組成以及phyphox。

 (2)下載了ARDUINO IDE

 (3)在ARDUINO IDE裡添加了ESP32板

 (4)用自帶的例程讓ESP32上的藍色小燈閃爍了起來。

相關焦點

  • 本地簡單傳輸phyphox實驗文件的方法
    本地簡單傳輸phyphox實驗文件的方法 以下的「.phyphox」文件,指的是由phyphox官網editor編輯創作的文件
  • 【玩轉ESP32】2、開發資料
    點擊上方[物聯網思考],選擇置頂,第一時間查看物聯網分享!
  • ESP32&Phyphox能直接測量負電壓嗎
    ESP32&Phyphox能直接測量負電壓嗎 ESP32&Phyphox的電流、電阻以及其他一些物理的測量與表現
  • ESPnixie----基於ESP32的輝光鍾
    不過好在,我開發了OTA升級,直接通過wifi就可以升級程序,然後忘記引出復位引腳也是一個極蠢的錯誤…… (fishgan本來就很蠢)(doudou不僅蠢還皮)之前一版使用的STM32主控晶片,配合的是XC6206線性穩壓器,換ESP32以後,腦袋短路了一下,還是用了XC6206,然後就翻車了……一開始調試時候好好的,後來開發完成,撤除串口調試器以後,莫名就不行了
  • 【玩轉ESP32】12、esp32串口使用
    收錄於話題 #玩轉esp32 點擊上方[物聯網思考],選擇置頂,第一時間查看物聯網分享!
  • ESP32 coredump 分析
    上次寫了一個 ESP32 入門,我想有必要再寫這篇文章,這次主要是分析 coredump 的,這就像 Android 和 Linux 系統的死機分析,有意思,也有難度。我覺得 ESP32 還有一個好處是,對於初學者真的太方便了,買個 Linux 開發板可能要幾百塊,但是買一個 ESP32 模塊的話,也就 40 塊錢,而且也是跑 Freertos 系統的,還有還有就是非常方便攜帶,調試燒錄供電都可以用一個 usb 線搞定,說真的,我沒有收錢宣傳,是真的適合沒有錢又喜歡入門嵌入式的同學們,但是這個只是起點,嵌入式後期我覺得一定是要學習Linux 的。
  • 老宇哥帶你玩轉ESP32:01入門介紹
    ,簡單點的裸機開發即可,結合一些嵌入式的實時作業系統,FreeRTOS、UCOS、RTT等,可以做一些複雜點的項目;用Linux或者FPGA開發,有一些要求高的項目,單片機等滿足不了,例如做一些高級的顯示,工控板,複雜的應用等,門檻比較高,韋東山,原子,野火,朱友鵬老師等都有出了一些非常好的教程,真正深入進去,才能體會到Linux的博大精深。
  • Espressif ESP32:使用EMFI繞過Secure Boot
    0x04 測試目標我們使用了AZ Delivery提供的ESP32 NodeMCU模塊,如下圖所示。這些模塊是基於ESP32-WROOM-32。根據觀察到的行為,將所有的實驗進行分組,並為每組確定一種顏色。經過多次實驗,其結果如下:1、綠色的點表示沒有明顯的效果;2、黃色的點表示晶片出現了重置(reset)或靜音(mute);3、紅色菱形表示出現了不同的計數器值,即成功觸發了故障注入;4、紅色十字表示出現了異常,例如非法指令。
  • ESP32晶片-LEDC外設(另附Arduino代碼)
    在文檔內,我們就看這裡就好在大量的說明舵機之前,不妨讓我們先來了解一些關於晶片本身的能力:https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/ledc.html有個神奇的地方
  • 基於 ESP32 的WIFI控制智能門牌
    關於零件和設備的注意事項:基於 WeMos D1 R32 ESP32:我選擇了基於 ESP32 的板,它需要藍牙或 WIFI 的零外部突破,但如果您熟悉 Arduino 板 - 這是一個簡單的項目,可以移植和使用 ESP 突破。在設計過程中,我使用了各種品牌和類型的基於 ESP32 的開發板,沒有給我任何問題。
  • esp32和stm32哪個好_ESP32對比ESP8266
    esp32和stm32哪個好_ESP32對比ESP8266 單片機愛好者 發表於 2020-04-23 11:06:19   esp32和stm32哪個好
  • 現代信息技術用於物理實驗的小軟體(可用於家庭實驗)
    可用於中學物理動力學教學,代替頻閃照片與實驗室用的數位化位移傳感器。只要有電腦和手機(攝像)就能在家做實驗,大大拓展課外家庭實驗空間,使家庭實驗不再局限於低成本的小實驗。具體可看使用教程。Phyphox、科學雜誌、動態鏡頭&34;軟體下載地址:https://www.wandoujia.com/apps/7049966&34;軟體下載地址:https://phyphox.org
  • 【玩轉ESP32】4、ESP32驅動DHT11
    收錄於話題 #玩轉esp321、新建dht11工程把上節的blink工程複製一份,修改名稱為dht11,其中CMakeLists.txt、Makefile、包括源文件名也改為dht11,然後試著編譯,發現可以編譯通過,這樣就可以先不用去管CMakeLists.txt、Makefile等文件的編寫。2、硬體連接注意避開那幾個只能用作輸入的IO口即可。
  • 繼ESP8266之後,又一款將稱霸2017年的物聯網市場現象級產品——樂鑫ESP32(WiFi/藍牙雙模)評測
    核心模塊是基於樂鑫ESP32 WiFi/雙模藍牙 的單晶片SoC的模組,此模組經過大量的驗證測試,所以如果對這個ESP32這顆Soc晶片感興趣,建議先購買現成模塊開發;而擴展型功能底板主要是一個將核心模塊ESP-WROOM-32的IO引腳擴展出來,方便工程師開發調試,另外,底板也負責USB轉串口以及給WiFi模塊供電的職責。
  • 用 ESP32 開發板 DIY NES 掌機
    自製遊戲機項目每年也會推陳出新,《樹莓派 CM3 掌上遊戲機 DIY 全記錄》在去年火熱一時,它是基於 RetroPie 和樹莓派 CM3 的一款掌機。下面,要為大家介紹的是基於 ESP32 和 ATtiny861 來製造 NES 遊戲模擬器掌機,並附有製作該項目的完整素材。來看一段視頻。材料清單
  • ESP32-C3 學習測試(二、GPIO中斷、按鍵驅動測試)
    1.1 GPIO基礎測試基礎測試是基於 官方的generic_gpio示例新建工程:針對自己的開發板進行代碼調整:/* GPIO Example   This example code is in the Public Domain (or CC0 licensed, at your option.)
  • 基於POE策略的初中物理實驗試題編制探究
    本文結合雷新勇的著作中命題與評價的要求,參考NAEP試題編制的流程,總結出基於POE策略的初中物理實驗命題流程,以此為初中物理實驗命題提供可操作性指引,如圖1所示。POE命題策略表示學生在實驗探究過程中對某一現象做出預測(判斷)、觀察、解釋(論證)的一種命題模式,預測、觀察、解釋三個環節可以單獨使用也可以組合使用,題型可以是選擇題、建構反應題或者是組合題。
  • ESP32 – GPIO 引腳參考大全
    它們不能用作輸出,因此只能將這些引腳用作輸入:GPIO 34GPIO 35GPIO 36GPIO 39這些引腳都是ESP32用於引導加載程序或者燒錄模式/在大多數內置USB/Serial的開發板上,不需要擔心這些引腳的狀態,開發板會把這些引腳設置為正確的狀態,以便使用燒錄或啟動模式。
  • 啟明雲端分享|ESP32-S3如何實現tcp_client和tcp_server
    6.進入窗口監視頁面idf.py -p PORT monitor1)從和日誌可以看出,WiFi連接成功後,創建一個sock,sock連接成功。2)伺服器編輯內容發送給esp32,在窗口監視頁面顯示。編譯官方tcp_server例程(需要配置下面會詳細介紹),燒錄到ESP32-S3開發板。打開tcp調試助手(電腦or手機必須與開發板在同一路由器下)。