「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
ESP32-WROVER-B開発ボードの「ESP32-DevKitC-VB」
ESP32-WROVER-B開発ボードの「ESP32-DevKitC-VB」という製品を見つけたので、試してみました。
ESP32-WROVERシリーズは、中国・上海のEspressif Systemsが開発している製品で、WiFi機能を持ったマイコンです。
ESP32とPSRAMをパッケージにしたもので、RAMが多いので活用の幅が広がります。
ESP32-WROVERは、内蔵しているSoCと、アンテナの形状によって、以下の4つのタイプがあります。
名前 | Soc | アンテナ |
---|---|---|
ESP32-WROVER | ESP32-D0WDQ6 | PCB |
ESP32-WROVER-I | ESP32-D0WDQ6 | IPEX |
ESP32-WROVER-B | ESP32-D0WD | PCB |
ESP32-WROVER-IB | ESP32-D0WD | IPEX |
ESP32-WROVERを搭載した開発ボードは、Amazonなどで売っています。
ただ、ESP32-WROVERではチップ上にTelecの刻印がないので、技適が大丈夫なのかという不安があります(Espressifのサイトによれば、技適は通っているようですが)。
一方、ESP32-WROVER-Bは、チップ上にTelecの刻印があるので、日本でも安心して使うことができます。
しかし、これまでは開発キットのようなものが売られていなかったので、自力で基板を作るなどする必要がありました。
先日、電子部品関係商社のMouserのサイトを見ていた時に、ESP32-DevKitC-VBをみつけました。
早速注文して、入手することができました。
PSRAMを使えるかどうか確認するために、Arduino IDEで以下のプログラムを書き込んでみました。
「ツール」→「ボード」のメニューで、ボードとして「ESP32 Dev Module」を選びました。
また、「ツール」→「PSRAM」のメニューで「Enabled」を選んでおく必要がありました。
#include "Esp.h" #include "esp32-hal.h" int *p; void setup() { Serial.begin(115200); p = (int*) ps_malloc(500000); if (p == NULL) { Serial.println("NULL"); } else { p[0] = 12345; p[499999] = 23456; Serial.print("p[0] = "); Serial.println(p[0]); Serial.print("p[499999] = "); Serial.println(p[499999]); Serial.print("psramsize = "); multi_heap_info_t info; heap_caps_get_info(&info, MALLOC_CAP_SPIRAM); Serial.println(info.total_free_bytes + info.total_allocated_bytes); } } void loop() { }
シリアルモニタには以下のように出力され、PSRAMの読み書きを確認することができました。
p[0] = 12345 p[499999] = 23456 psramsize = 4194236