「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
