[Info] Using Raspberry Pi as a development environment

PeterD
Posts: 1
Joined: Tue May 16, 2017 5:55 pm

Re: [Info] Using Raspberry Pi as a development environment

Postby PeterD » Tue May 16, 2017 6:20 pm

Hello,

I love my Raspberry Pi, I like to use it for all my Arduino-like projects.
I have been tinkering with the ESP32 since February or March and, thanks to the growing online community, had very good results.

Recently I looked at the ULP processor. There was a toolchain recently released for it, but it is not available for the Raspberry Pi. Has anyone had a go at building it themselves? I did try, but did not get very far. Frankly I don't know what I'm doing. While there were decent online tips on how to build main cross-compiler (including the posts above) there is nothing as yet for the ULP.

pharju
Posts: 1
Joined: Thu May 18, 2017 6:53 am

Re: [Info] Using Raspberry Pi as a development environment

Postby pharju » Thu May 18, 2017 7:27 am

How to connect Raspberry pi3 integrated bluetooth device with ESP32 ble gatt server?

Raspberry pi3 using integrated hci0 bt-device b8:27:eb:39:72:7e

sudo bluez-5.45/tools/btgatt-client -d 24:0A:C4:82:F5:9A -i hci0
Connecting to device... Failed to connect: Function not implemented

Output of make flash monitor using ESP32 with esp-idf/examples/bluetooth/gatt_server$
I (741484) GATTS_DEMO: ESP_GATTS_CONNECT_EVT, conn_id 0, remote b8:27:eb:39:72:7e:, is_conn 1
I (741494) GATTS_DEMO: SERVICE_START_EVT, conn_id 0, remote b8:27:eb:39:72:7e:, is_conn 1
E (741884) BT: gatt_disc_cmpl_cback() - Register for service changed indication failure
E (741884) BT: bta_gattc_conn_cback() - cif=3 connected=0 conn_id=3 reason=0x003e
E (741884) BT: btm_sec_disconnected clearing pending flag handle:0 reason:62

Same RaspBerry pi3 using hci1 USB stick bt-device 5c:f3:70:80:f0:c2
dmesg:
[ 1276.269495] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[ 1276.385773] usb 1-1.2: New USB device found, idVendor=050d, idProduct=065a
[ 1276.385791] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1276.385804] usb 1-1.2: Product: BCM20702A0
[ 1276.385817] usb 1-1.2: Manufacturer: Broadcom Corp
[ 1276.385829] usb 1-1.2: SerialNumber: 5CF37080F0C2
[ 1276.432560] usbcore: registered new interface driver btusb
[ 1276.437448] Bluetooth: hci1: BCM: chip id 63
[ 1276.438436] Bluetooth: hci1: BCM20702A1 (001.002.014) build 0000

sudo bluez-5.45/tools/btgatt-client -d 24:0A:C4:82:F5:9A -i hci1
Connecting to device... Done
[GATT client]# Service Added - UUID: 00001801-0000-1000-8000-00805f9b34fb start: 0x0001 end: 0x0005
[GATT client]# Service Added - UUID: 00001800-0000-1000-8000-00805f9b34fb start: 0x0014 end: 0x001c
[GATT client]# Service Added - UUID: 000000ff-0000-1000-8000-00805f9b34fb start: 0x0028 end: 0x002b
[GATT client]# Service Added - UUID: 000000ee-0000-1000-8000-00805f9b34fb start: 0x002c end: 0xffff
[GATT client]# GATT discovery procedures complete
[GATT client]#
service - start: 0x0001, end: 0x0005, type: primary, uuid: 00001801-0000-1000-8000-00805f9b34fb
charac - start: 0x0002, value: 0x0003, props: 0x20, ext_props: 0x0000, uuid: 00002a05-0000-1000-8000-00805f9b34fb

service - start: 0x0014, end: 0x001c, type: primary, uuid: 00001800-0000-1000-8000-00805f9b34fb
charac - start: 0x0015, value: 0x0016, props: 0x02, ext_props: 0x0000, uuid: 00002a00-0000-1000-8000-00805f9b34fb
charac - start: 0x0017, value: 0x0018, props: 0x02, ext_props: 0x0000, uuid: 00002a01-0000-1000-8000-00805f9b34fb
charac - start: 0x0019, value: 0x001a, props: 0x02, ext_props: 0x0000, uuid: 00002aa6-0000-1000-8000-00805f9b34fb

service - start: 0x0028, end: 0x002b, type: primary, uuid: 000000ff-0000-1000-8000-00805f9b34fb
charac - start: 0x0029, value: 0x002a, props: 0x1a, ext_props: 0x0000, uuid: 0000ff01-0000-1000-8000-00805f9b34fb
descr - handle: 0x002b, uuid: 00002902-0000-1000-8000-00805f9b34fb

service - start: 0x002c, end: 0xffff, type: primary, uuid: 000000ee-0000-1000-8000-00805f9b34fb
charac - start: 0x002d, value: 0x002e, props: 0x1a, ext_props: 0x0000, uuid: 0000ee01-0000-1000-8000-00805f9b34fb
descr - handle: 0x002f, uuid: 00002902-0000-1000-8000-00805f9b34fb

[GATT client]#

Output of make flash monitor using ESP32 with esp-idf/examples/bluetooth/gatt_server$
E (13873) BT: btm_ble_resolve_random_addr_on_conn_cmpl unable to match and resolve random address
E (13873) BT: smp_br_connect_callback is called on unexpected transport 2
I (13873) GATTS_DEMO: ESP_GATTS_CONNECT_EVT, conn_id 0, remote 5c:f3:70:80:f0:c2:, is_conn 1
I (13883) GATTS_DEMO: SERVICE_START_EVT, conn_id 0, remote 5c:f3:70:80:f0:c2:, is_conn 1
E (14033) BT: gatt_disc_cmpl_cback() - Register for service changed indication failure

When using ESP32 with esp-idf/examples/bluetooth/ble_adv Raspberry pi3 hci0 24:0A:C4:82:F5:9A can read the advertising data.

I have tried four different Raspberry pi3 computers and two ESP32 devkits mixed with same outcome.

madscientist_42
Posts: 95
Joined: Tue Feb 21, 2017 10:17 pm

Re: [Info] Using Raspberry Pi as a development environment

Postby madscientist_42 » Fri May 19, 2017 2:00 pm

PeterD wrote:Hello,

I love my Raspberry Pi, I like to use it for all my Arduino-like projects.
I have been tinkering with the ESP32 since February or March and, thanks to the growing online community, had very good results.

Recently I looked at the ULP processor. There was a toolchain recently released for it, but it is not available for the Raspberry Pi. Has anyone had a go at building it themselves? I did try, but did not get very far. Frankly I don't know what I'm doing. While there were decent online tips on how to build main cross-compiler (including the posts above) there is nothing as yet for the ULP.
Not the toolchain, but here's something to work with until someone makes a version that works there in the ARM space...

http://esp-idf.readthedocs.io/en/latest ... acros.html

Andreas12
Posts: 7
Joined: Thu Mar 05, 2020 10:24 pm

Re: [Info] Using Raspberry Pi as a development environment

Postby Andreas12 » Sun Apr 19, 2020 7:36 pm

Hi

Hi ! I did everything exactly according to the instructions - https://www.youtube.com/watch?v=jt0aaMQD1WI, but I have problems
How can I solve this problem:

pi@raspi3:~/esp32 $ ls
esp-idf myapp
pi@raspi3:~/esp32 $ cd myapp
pi@raspi3:~/esp32/myapp $ ls
CMakeLists.txt LICENSE main Makefile README.md
pi@raspi3:~/esp32/myapp $ make menuconfig
mconf-idf is not required on this platform
mconf-idf is not required on this platform
The following Python requirements are not satisfied:
future>=0.15.2
pyparsing>=2.0.3,<2.4.0
pyelftools>=0.22
gdbgui>=0.13.2.0
pygdbmi<=0.9.0.2
Please follow the instructions found in the "Set up the tools" section of ESP-IDF Getting Started Guide
make: *** No rule to make target 'check_python_dependencies', needed by 'menuconfig'. Stop.



all dialogue:

Code: Select all

pi@raspi3:~ $ pwd
/home/pi
pi@raspi3:~ $ mkdir esp32
pi@raspi3:~ $ cd esp32
pi@raspi3:~/esp32 $ ls
pi@raspi3:~/esp32 $ wget http://www.neilkolban.com/esp32/downloads/xtensa-esp32-elf.tar.gz
--2020-04-19 21:51:09--  http://www.neilkolban.com/esp32/downloads/xtensa-esp32-elf.tar.gz
Resolving www.neilkolban.com (www.neilkolban.com)... 50.62.25.1
Connecting to www.neilkolban.com (www.neilkolban.com)|50.62.25.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 34877917 (33M) [application/x-tar]
Saving to: ‘xtensa-esp32-elf.tar.gz’

xtensa-esp32-elf.tar.gz                   100%[=====================================================================================>]  33.26M  2.40MB/s    in 18s

2020-04-19 21:51:28 (1.84 MB/s) - ‘xtensa-esp32-elf.tar.gz’ saved [34877917/34877917]

pi@raspi3:~/esp32 $ ls
xtensa-esp32-elf.tar.gz
pi@raspi3:~/esp32 $ sudo tar --extract --directory /opt --ungzip --file xtensa-esp32-elf.tar.gz
pi@raspi3:~/esp32 $ ls
xtensa-esp32-elf.tar.gz
pi@raspi3:~/esp32 $ rm *.gz
pi@raspi3:~/esp32 $ ls
pi@raspi3:~/esp32 $ cd /opt/xtensa-esp32-elf
pi@raspi3:/opt/xtensa-esp32-elf $ ls
bin  include  lib  libexec  share  xtensa-esp32-elf
pi@raspi3:/opt/xtensa-esp32-elf $ cd bin
pi@raspi3:/opt/xtensa-esp32-elf/bin $ ls
xtensa-esp32-elf-addr2line  xtensa-esp32-elf-c++filt       xtensa-esp32-elf-gcc         xtensa-esp32-elf-gcov    xtensa-esp32-elf-nm       xtensa-esp32-elf-size
xtensa-esp32-elf-ar         xtensa-esp32-elf-cpp           xtensa-esp32-elf-gcc-4.8.5   xtensa-esp32-elf-gdb     xtensa-esp32-elf-objcopy  xtensa-esp32-elf-strings
xtensa-esp32-elf-as         xtensa-esp32-elf-ct-ng.config  xtensa-esp32-elf-gcc-ar      xtensa-esp32-elf-gprof   xtensa-esp32-elf-objdump  xtensa-esp32-elf-strip
xtensa-esp32-elf-c++        xtensa-esp32-elf-elfedit       xtensa-esp32-elf-gcc-nm      xtensa-esp32-elf-ld      xtensa-esp32-elf-ranlib
xtensa-esp32-elf-cc         xtensa-esp32-elf-g++           xtensa-esp32-elf-gcc-ranlib  xtensa-esp32-elf-ld.bfd  xtensa-esp32-elf-readelf
pi@raspi3:/opt/xtensa-esp32-elf/bin $ cd ~/esp32
pi@raspi3:~/esp32 $ PATH=/opt/xtensa-esp32-elf/bin:$PATH
pi@raspi3:~/esp32 $ xtensa-esp32-elf-cc
xtensa-esp32-elf-cc: fatal error: no input files
compilation terminated.
pi@raspi3:~/esp32 $ git clone --recursive https://github.com/espressif/esp-idf.git
Cloning into 'esp-idf'...
remote: Enumerating objects: 864, done.
remote: Counting objects: 100% (864/864), done.
remote: Compressing objects: 100% (661/661), done.
remote: Total 151590 (delta 329), reused 466 (delta 189), pack-reused 150726
Receiving objects: 100% (151590/151590), 98.28 MiB | 6.94 MiB/s, done.
Resolving deltas: 100% (110663/110663), done.
Checking out files: 100% (6327/6327), done.
Submodule 'components/asio/asio' (https://github.com/espressif/asio.git) registered for path 'components/asio/asio'
Submodule 'components/bootloader/subproject/components/micro-ecc/micro-ecc' (https://github.com/kmackay/micro-ecc.git) registered for path 'components/bootloader/subproject/components/micro-ecc/micro-ecc'
Submodule 'components/bt/controller/lib' (https://github.com/espressif/esp32-bt-lib.git) registered for path 'components/bt/controller/lib'
Submodule 'components/bt/host/nimble/nimble' (https://github.com/espressif/esp-nimble.git) registered for path 'components/bt/host/nimble/nimble'
Submodule 'components/cbor/tinycbor' (https://github.com/intel/tinycbor.git) registered for path 'components/cbor/tinycbor'
Submodule 'components/coap/libcoap' (https://github.com/obgm/libcoap.git) registered for path 'components/coap/libcoap'
Submodule 'components/esp_wifi/lib' (https://github.com/espressif/esp32-wifi-lib.git) registered for path 'components/esp_wifi/lib'
Submodule 'components/esptool_py/esptool' (https://github.com/espressif/esptool.git) registered for path 'components/esptool_py/esptool'
Submodule 'components/expat/expat' (https://github.com/libexpat/libexpat.git) registered for path 'components/expat/expat'
Submodule 'components/json/cJSON' (https://github.com/DaveGamble/cJSON.git) registered for path 'components/json/cJSON'
Submodule 'components/libsodium/libsodium' (https://github.com/jedisct1/libsodium.git) registered for path 'components/libsodium/libsodium'
Submodule 'components/lwip/lwip' (https://github.com/espressif/esp-lwip.git) registered for path 'components/lwip/lwip'
Submodule 'components/mbedtls/mbedtls' (https://github.com/espressif/mbedtls.git) registered for path 'components/mbedtls/mbedtls'
Submodule 'components/mqtt/esp-mqtt' (https://github.com/espressif/esp-mqtt.git) registered for path 'components/mqtt/esp-mqtt'
Submodule 'components/nghttp/nghttp2' (https://github.com/nghttp2/nghttp2.git) registered for path 'components/nghttp/nghttp2'
Submodule 'components/protobuf-c/protobuf-c' (https://github.com/protobuf-c/protobuf-c.git) registered for path 'components/protobuf-c/protobuf-c'
Submodule 'components/spiffs/spiffs' (https://github.com/pellepl/spiffs.git) registered for path 'components/spiffs/spiffs'
Submodule 'components/tinyusb/tinyusb' (https://github.com/espressif/tinyusb.git) registered for path 'components/tinyusb/tinyusb'
Submodule 'components/unity/unity' (https://github.com/ThrowTheSwitch/Unity.git) registered for path 'components/unity/unity'
Submodule 'examples/build_system/cmake/import_lib/main/lib/tinyxml2' (https://github.com/leethomason/tinyxml2.git) registered for path 'examples/build_system/cmake/import_lib/main/lib/tinyxml2'
Cloning into '/home/pi/esp32/esp-idf/components/asio/asio'...
remote: Enumerating objects: 48381, done.
remote: Total 48381 (delta 0), reused 0 (delta 0), pack-reused 48381
Receiving objects: 100% (48381/48381), 16.25 MiB | 3.54 MiB/s, done.
Resolving deltas: 100% (33011/33011), done.
Cloning into '/home/pi/esp32/esp-idf/components/bootloader/subproject/components/micro-ecc/micro-ecc'...
remote: Enumerating objects: 1086, done.
remote: Total 1086 (delta 0), reused 0 (delta 0), pack-reused 1086
Receiving objects: 100% (1086/1086), 647.94 KiB | 1.68 MiB/s, done.
Resolving deltas: 100% (637/637), done.
Cloning into '/home/pi/esp32/esp-idf/components/bt/controller/lib'...
remote: Enumerating objects: 189, done.
remote: Counting objects: 100% (189/189), done.
remote: Compressing objects: 100% (123/123), done.
remote: Total 802 (delta 126), reused 128 (delta 66), pack-reused 613
Receiving objects: 100% (802/802), 3.20 MiB | 3.26 MiB/s, done.
Resolving deltas: 100% (540/540), done.
Cloning into '/home/pi/esp32/esp-idf/components/cbor/tinycbor'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 2656 (delta 2), reused 4 (delta 2), pack-reused 2648
Receiving objects: 100% (2656/2656), 1.28 MiB | 2.67 MiB/s, done.
Resolving deltas: 100% (1785/1785), done.
Cloning into '/home/pi/esp32/esp-idf/components/bt/host/nimble/nimble'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 35894 (delta 0), reused 2 (delta 0), pack-reused 35886
Receiving objects: 100% (35894/35894), 10.30 MiB | 3.62 MiB/s, done.
Resolving deltas: 100% (21467/21467), done.
Cloning into '/home/pi/esp32/esp-idf/components/coap/libcoap'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 9279 (delta 1), reused 3 (delta 1), pack-reused 9271
Receiving objects: 100% (9279/9279), 3.64 MiB | 3.15 MiB/s, done.
Resolving deltas: 100% (6562/6562), done.
Cloning into '/home/pi/esp32/esp-idf/components/esptool_py/esptool'...
remote: Enumerating objects: 89, done.
remote: Counting objects: 100% (89/89), done.
remote: Compressing objects: 100% (62/62), done.
remote: Total 2247 (delta 43), reused 71 (delta 26), pack-reused 2158
Receiving objects: 100% (2247/2247), 7.83 MiB | 5.37 MiB/s, done.
Resolving deltas: 100% (1388/1388), done.
Cloning into '/home/pi/esp32/esp-idf/components/esp_wifi/lib'...
remote: Enumerating objects: 227, done.
remote: Counting objects: 100% (227/227), done.
remote: Compressing objects: 100% (108/108), done.
remote: Total 7835 (delta 170), reused 162 (delta 119), pack-reused 7608
Receiving objects: 100% (7835/7835), 77.87 MiB | 1.54 MiB/s, done.
Resolving deltas: 100% (6403/6403), done.
Cloning into '/home/pi/esp32/esp-idf/components/json/cJSON'...
remote: Enumerating objects: 70, done.
remote: Counting objects: 100% (70/70), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 4386 (delta 42), reused 28 (delta 14), pack-reused 4316
Receiving objects: 100% (4386/4386), 2.43 MiB | 2.79 MiB/s, done.
Resolving deltas: 100% (2914/2914), done.
Cloning into '/home/pi/esp32/esp-idf/components/lwip/lwip'...
remote: Enumerating objects: 90, done.
remote: Counting objects: 100% (90/90), done.
remote: Compressing objects: 100% (70/70), done.
remote: Total 49738 (delta 32), reused 50 (delta 19), pack-reused 49648
Receiving objects: 100% (49738/49738), 9.82 MiB | 3.46 MiB/s, done.
Resolving deltas: 100% (37549/37549), done.
Cloning into '/home/pi/esp32/esp-idf/components/expat/expat'...
remote: Enumerating objects: 36, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 16277 (delta 20), reused 21 (delta 11), pack-reused 16241
Receiving objects: 100% (16277/16277), 13.73 MiB | 1.49 MiB/s, done.
Resolving deltas: 100% (12176/12176), done.
Cloning into '/home/pi/esp32/esp-idf/components/libsodium/libsodium'...
remote: Enumerating objects: 16, done.
remote: Counting objects: 100% (16/16), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 30809 (delta 2), reused 6 (delta 1), pack-reused 30793
Receiving objects: 100% (30809/30809), 7.79 MiB | 1.34 MiB/s, done.
Resolving deltas: 100% (18228/18228), done.
Cloning into '/home/pi/esp32/esp-idf/components/mqtt/esp-mqtt'...
remote: Enumerating objects: 228, done.
remote: Counting objects: 100% (228/228), done.
remote: Compressing objects: 100% (145/145), done.
remote: Total 2202 (delta 114), reused 191 (delta 82), pack-reused 1974
Receiving objects: 100% (2202/2202), 1.45 MiB | 2.43 MiB/s, done.
Resolving deltas: 100% (1168/1168), done.
Cloning into '/home/pi/esp32/esp-idf/components/protobuf-c/protobuf-c'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 3281 (delta 3), reused 2 (delta 1), pack-reused 3273
Receiving objects: 100% (3281/3281), 1.26 MiB | 1.03 MiB/s, done.
Resolving deltas: 100% (2078/2078), done.
Cloning into '/home/pi/esp32/esp-idf/components/nghttp/nghttp2'...
remote: Enumerating objects: 185, done.
remote: Counting objects: 100% (185/185), done.
remote: Compressing objects: 100% (114/114), done.
remote: Total 40250 (delta 84), reused 132 (delta 66), pack-reused 40065
Receiving objects: 100% (40250/40250), 31.11 MiB | 3.72 MiB/s, done.
Resolving deltas: 100% (29986/29986), done.
Cloning into '/home/pi/esp32/esp-idf/components/mbedtls/mbedtls'...
remote: Enumerating objects: 72703, done.
remote: Total 72703 (delta 0), reused 0 (delta 0), pack-reused 72703
Receiving objects: 100% (72703/72703), 32.96 MiB | 1.86 MiB/s, done.
Resolving deltas: 100% (56033/56033), done.
Cloning into '/home/pi/esp32/esp-idf/components/spiffs/spiffs'...
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 1478 (delta 8), reused 13 (delta 4), pack-reused 1455
Receiving objects: 100% (1478/1478), 1.02 MiB | 1.82 MiB/s, done.
Resolving deltas: 100% (1028/1028), done.
Cloning into '/home/pi/esp32/esp-idf/components/unity/unity'...
remote: Enumerating objects: 133, done.
remote: Counting objects: 100% (133/133), done.
remote: Compressing objects: 100% (98/98), done.
remote: Total 5613 (delta 86), reused 69 (delta 35), pack-reused 5480
Receiving objects: 100% (5613/5613), 6.53 MiB | 4.67 MiB/s, done.
Resolving deltas: 100% (3473/3473), done.
Cloning into '/home/pi/esp32/esp-idf/components/tinyusb/tinyusb'...
remote: Enumerating objects: 38165, done.
remote: Total 38165 (delta 0), reused 0 (delta 0), pack-reused 38165
Receiving objects: 100% (38165/38165), 23.58 MiB | 4.80 MiB/s, done.
Resolving deltas: 100% (25553/25553), done.
Cloning into '/home/pi/esp32/esp-idf/examples/build_system/cmake/import_lib/main/lib/tinyxml2'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 3814 (delta 5), reused 3 (delta 1), pack-reused 3801
Receiving objects: 100% (3814/3814), 2.76 MiB | 675.00 KiB/s, done.
Resolving deltas: 100% (2482/2482), done.
Submodule path 'components/asio/asio': checked out '3b66e5b051381fb70de9c2791df70a06181c64e3'
Submodule path 'components/bootloader/subproject/components/micro-ecc/micro-ecc': checked out 'd037ec89546fad14b5c4d5456c2e23a71e554966'
Submodule path 'components/bt/controller/lib': checked out 'e89bf97b85e0136112118e1023555bf77e272e4c'
Submodule path 'components/bt/host/nimble/nimble': checked out '0a1604a5792d64e2fc5860bfeeabf370a9680656'
Submodule path 'components/cbor/tinycbor': checked out 'd2dd95cb8841d88d5a801e3ef9c328fd6200e7bd'
Submodule path 'components/coap/libcoap': checked out '98954eb30a2e728e172a6cd29430ae5bc999b585'
Submodule 'ext/tinydtls' (https://github.com/eclipse/tinydtls.git) registered for path 'components/coap/libcoap/ext/tinydtls'
Cloning into '/home/pi/esp32/esp-idf/components/coap/libcoap/ext/tinydtls'...
remote: Enumerating objects: 693, done.
remote: Total 693 (delta 0), reused 0 (delta 0), pack-reused 693
Receiving objects: 100% (693/693), 357.89 KiB | 1.07 MiB/s, done.
Resolving deltas: 100% (416/416), done.
Submodule path 'components/coap/libcoap/ext/tinydtls': checked out '7f8c86e501e690301630029fa9bae22424adf618'
Submodule path 'components/esp_wifi/lib': checked out '1b4c0c4dbaa9e68f3fb24a8f793cf1d18c7860b1'
Submodule path 'components/esptool_py/esptool': checked out '91bdc71841d1b4e561e8e896405b58db86d5fd72'
Submodule path 'components/expat/expat': checked out '968b8cc46dbee47b83318d5f31a8e7907199614b'
Submodule path 'components/json/cJSON': checked out '3c8935676a97c7c97bf006db8312875b4f292f6c'
Submodule path 'components/libsodium/libsodium': checked out '70170c28c844a4786e75efc626e1aeebc93caebc'
Submodule path 'components/lwip/lwip': checked out '5c181728c894d8c051070b1cf21c55a6222fc64b'
Submodule path 'components/mbedtls/mbedtls': checked out '9ef92c551eb8d92677034c3ec8078a8076febf41'
Submodule path 'components/mqtt/esp-mqtt': checked out 'd8e20813326cb6c9fe0303fc5ba1813ccca53065'
Submodule path 'components/nghttp/nghttp2': checked out '3bcc416e13cc790e2fb45fcfe9111d38609c5032'
Submodule 'third-party/mruby' (https://github.com/mruby/mruby) registered for path 'components/nghttp/nghttp2/third-party/mruby'
Submodule 'third-party/neverbleed' (https://github.com/h2o/neverbleed.git) registered for path 'components/nghttp/nghttp2/third-party/neverbleed'
Cloning into '/home/pi/esp32/esp-idf/components/nghttp/nghttp2/third-party/mruby'...
remote: Enumerating objects: 70, done.
remote: Counting objects: 100% (70/70), done.
remote: Compressing objects: 100% (63/63), done.
remote: Total 53966 (delta 36), reused 16 (delta 6), pack-reused 53896
Receiving objects: 100% (53966/53966), 13.21 MiB | 4.75 MiB/s, done.
Resolving deltas: 100% (33693/33693), done.
Cloning into '/home/pi/esp32/esp-idf/components/nghttp/nghttp2/third-party/neverbleed'...
remote: Enumerating objects: 40, done.
remote: Counting objects: 100% (40/40), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 272 (delta 23), reused 29 (delta 15), pack-reused 232
Receiving objects: 100% (272/272), 96.81 KiB | 713.00 KiB/s, done.
Resolving deltas: 100% (162/162), done.
Submodule path 'components/nghttp/nghttp2/third-party/mruby': checked out '22464fe5a0a10f2b077eaba109ce1e912e4a77de'
Submodule path 'components/nghttp/nghttp2/third-party/neverbleed': checked out 'da5c2ab419a3bb8a4cc6c37a6c7f3e4bd4b41134'
Submodule path 'components/protobuf-c/protobuf-c': checked out 'dac1a65feac4ad72f612aab99f487056fbcf5c1a'
Submodule path 'components/spiffs/spiffs': checked out 'f5e26c4e933189593a71c6b82cda381a7b21e41c'
Submodule path 'components/tinyusb/tinyusb': checked out '28f89e13473d40637574bcbfe4142633b39899fd'
Submodule path 'components/unity/unity': checked out '7d2bf62b7e6afaf38153041a9d53c21aeeca9a25'
Submodule path 'examples/build_system/cmake/import_lib/main/lib/tinyxml2': checked out '7e8e249990ec491ec15990cf95b6d871a66cf64a'
pi@raspi3:~/esp32 $
pi@raspi3:~/esp32 $
pi@raspi3:~/esp32 $
pi@raspi3:~/esp32 $ cd esp-idf
pi@raspi3:~/esp32/esp-idf $ git submodule update --init
pi@raspi3:~/esp32/esp-idf $
pi@raspi3:~/esp32/esp-idf $
pi@raspi3:~/esp32/esp-idf $ cd ..
pi@raspi3:~/esp32 $ ls
esp-idf
pi@raspi3:~/esp32 $ export IDF_PATH=$PWD/esp-idf
pi@raspi3:~/esp32 $
pi@raspi3:~/esp32 $ git clone https://github.com/espressif/esp-idf-template.git myapp
Cloning into 'myapp'...
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 103 (delta 8), reused 9 (delta 2), pack-reused 86
Receiving objects: 100% (103/103), 23.27 KiB | 1.66 MiB/s, done.
Resolving deltas: 100% (43/43), done.
pi@raspi3:~/esp32 $
pi@raspi3:~/esp32 $ ls
esp-idf  myapp
pi@raspi3:~/esp32 $ cd myapp
pi@raspi3:~/esp32/myapp $ ls
CMakeLists.txt  LICENSE  main  Makefile  README.md
pi@raspi3:~/esp32/myapp $ make menuconfig
mconf-idf is not required on this platform
mconf-idf is not required on this platform
The following Python requirements are not satisfied:
future>=0.15.2
pyparsing>=2.0.3,<2.4.0
pyelftools>=0.22
gdbgui>=0.13.2.0
pygdbmi<=0.9.0.2
Please follow the instructions found in the "Set up the tools" section of ESP-IDF Getting Started Guide
make: *** No rule to make target 'check_python_dependencies', needed by 'menuconfig'.  Stop.
pi@raspi3:~/esp32/myapp $ ^C
pi@raspi3:~/esp32/myapp $ sudo apt-get install libncurses5-dev flex bison gperf
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libbison-dev libfl-dev libncurses-dev libsigsegv2 m4
Suggested packages:
  bison-doc flex-doc ncurses-doc m4-doc
The following NEW packages will be installed:
  bison flex gperf libbison-dev libfl-dev libncurses-dev libncurses5-dev libsigsegv2 m4
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,497 kB of archives.
After this operation, 6,374 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirror.yandex.ru/mirrors/raspbian/raspbian buster/main armhf libsigsegv2 armhf 2.12-2 [32.3 kB]
Get:2 http://mirror.yandex.ru/mirrors/raspbian/raspbian buster/main armhf m4 armhf 1.4.18-2 [185 kB]
Get:3 http://mirror.yandex.ru/mirrors/raspbian/raspbian buster/main armhf flex armhf 2.6.4-6.2 [427 kB]
Get:4 http://mirror.yandex.ru/mirrors/raspbian/raspbian buster/main armhf libbison-dev armhf 2:3.3.2.dfsg-1 [500 kB]
Get:5 http://mirror.yandex.ru/mirrors/raspbian/raspbian buster/main armhf bison armhf 2:3.3.2.dfsg-1 [829 kB]
Get:6 http://mirror.yandex.ru/mirrors/raspbian/raspbian buster/main armhf gperf armhf 3.1-1 [141 kB]
Get:7 http://mirror.yandex.ru/mirrors/raspbian/raspbian buster/main armhf libfl-dev armhf 2.6.4-6.2 [104 kB]
Get:8 http://mirror.yandex.ru/mirrors/raspbian/raspbian buster/main armhf libncurses-dev armhf 6.1+20181013-2+deb10u2 [278 kB]
Get:9 http://raspbian.raspberrypi.org/raspbian buster/main armhf libncurses5-dev armhf 6.1+20181013-2+deb10u2 [948 B]
Fetched 2,497 kB in 2s (1,274 kB/s)
Selecting previously unselected package libsigsegv2:armhf.
(Reading database ... 93534 files and directories currently installed.)
Preparing to unpack .../0-libsigsegv2_2.12-2_armhf.deb ...
Unpacking libsigsegv2:armhf (2.12-2) ...
Selecting previously unselected package m4.
Preparing to unpack .../1-m4_1.4.18-2_armhf.deb ...
Unpacking m4 (1.4.18-2) ...
Selecting previously unselected package flex.
Preparing to unpack .../2-flex_2.6.4-6.2_armhf.deb ...
Unpacking flex (2.6.4-6.2) ...
Selecting previously unselected package libbison-dev:armhf.
Preparing to unpack .../3-libbison-dev_2%3a3.3.2.dfsg-1_armhf.deb ...
Unpacking libbison-dev:armhf (2:3.3.2.dfsg-1) ...
Selecting previously unselected package bison.
Preparing to unpack .../4-bison_2%3a3.3.2.dfsg-1_armhf.deb ...
Unpacking bison (2:3.3.2.dfsg-1) ...
Selecting previously unselected package gperf.
Preparing to unpack .../5-gperf_3.1-1_armhf.deb ...
Unpacking gperf (3.1-1) ...
Selecting previously unselected package libfl-dev:armhf.
Preparing to unpack .../6-libfl-dev_2.6.4-6.2_armhf.deb ...
Unpacking libfl-dev:armhf (2.6.4-6.2) ...
Selecting previously unselected package libncurses-dev:armhf.
Preparing to unpack .../7-libncurses-dev_6.1+20181013-2+deb10u2_armhf.deb ...
Unpacking libncurses-dev:armhf (6.1+20181013-2+deb10u2) ...
Selecting previously unselected package libncurses5-dev:armhf.
Preparing to unpack .../8-libncurses5-dev_6.1+20181013-2+deb10u2_armhf.deb ...
Unpacking libncurses5-dev:armhf (6.1+20181013-2+deb10u2) ...
Setting up libncurses-dev:armhf (6.1+20181013-2+deb10u2) ...
Setting up libbison-dev:armhf (2:3.3.2.dfsg-1) ...
Setting up gperf (3.1-1) ...
Setting up libsigsegv2:armhf (2.12-2) ...
Setting up libncurses5-dev:armhf (6.1+20181013-2+deb10u2) ...
Setting up m4 (1.4.18-2) ...
Setting up bison (2:3.3.2.dfsg-1) ...
update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode
Setting up flex (2.6.4-6.2) ...
Setting up libfl-dev:armhf (2.6.4-6.2) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for install-info (6.5.0.dfsg.1-4+b1) ...
pi@raspi3:~/esp32/myapp $ make menuconfig
mconf-idf is not required on this platform
mconf-idf is not required on this platform
The following Python requirements are not satisfied:
future>=0.15.2
pyparsing>=2.0.3,<2.4.0
pyelftools>=0.22
gdbgui>=0.13.2.0
pygdbmi<=0.9.0.2
Please follow the instructions found in the "Set up the tools" section of ESP-IDF Getting Started Guide
make: *** No rule to make target 'check_python_dependencies', needed by 'menuconfig'.  Stop.
pi@raspi3:~/esp32/myapp $ idf.py menuconfig
-bash: idf.py: command not found
pi@raspi3:~/esp32/myapp $


ESP_Sprite
Posts: 9757
Joined: Thu Nov 26, 2015 4:08 am

Re: [Info] Using Raspberry Pi as a development environment

Postby ESP_Sprite » Mon Apr 20, 2020 3:04 pm

It's probably not a good idea to take an old Youtube video and indiscriminately assume it applies to a current esp-idf...
Please follow the instructions found in the "Set up the tools" section of ESP-IDF Getting Started Guide
So did you do that?

Andreas12
Posts: 7
Joined: Thu Mar 05, 2020 10:24 pm

Re: [Info] Using Raspberry Pi as a development environment

Postby Andreas12 » Mon Apr 20, 2020 11:37 pm

ESP_Sprite wrote:
Mon Apr 20, 2020 3:04 pm
So did you do that?
Yes, of course. I tried again and again and again. And before I answered, I partially succeeded. For the project "hello_world" I finally got a menu:
Image

In previous attempts, I was not able to achieve this. So most likely I missed something when entering commands. I think so. But then, following the instructions, I couldn't do the same for ESP-AT. (I need to enable classic Bluetooth in the firmware)

I saw your answer in the thread viewtopic.php?t=10694. (The AT firmware has support for classic BT, but not in the default AT firmware; you'd have to change a configuration and recompile the binary yourself.). Also i looked https://github.com/espressif/esp-at/blo ... Started.md (Compiling the esp32-at is the same as compiling any other project based on the ESP-IDF )

i have cloned the project ESP-AT into an empty directory using command git clone --recursive https://github.com/espressif/esp-at.git

Then by analogy as indicated in step 7 (https://docs.espressif.com/projects/esp ... index.html):

Code: Select all

idf.py set-target esp32
idf.py menuconfig
But! then came the problems.
Please watch the recording from my screen - https://www.youtube.com/watch?v=rah2rjklbpc
Full dialogue here: https://drive.google.com/file/d/14REjM4 ... sp=sharing

Could you give me some recommendations how to compile ESP-AT project and to produce bin-file (AT firmware with classic bluetooth enable) for flashing.

ESP_Sprite
Posts: 9757
Joined: Thu Nov 26, 2015 4:08 am

Re: [Info] Using Raspberry Pi as a development environment

Postby ESP_Sprite » Tue Apr 21, 2020 3:05 pm

Hmm, it looks like the answer is that esp-at needs esp-idf 4.0 and you're checking out master. If you go to your esp-idf directory and do an 'git checkout release/v4.0' and a 'git submodule update' and retry compiling the project, the errors should go away.

Fwiw, I agree that the docs are misleading / unclear here. I'll ask the AT people to fix this.

Andreas12
Posts: 7
Joined: Thu Mar 05, 2020 10:24 pm

Re: [Info] Using Raspberry Pi as a development environment

Postby Andreas12 » Tue Apr 21, 2020 10:55 pm

ESP_Sprite wrote:
Tue Apr 21, 2020 3:05 pm
Hmm, it looks like the answer is that esp-at needs esp-idf 4.0 and you're checking out master. If you go to your esp-idf directory and do an 'git checkout release/v4.0' and a 'git submodule update' and retry compiling the project, the errors should go away.

Fwiw, I agree that the docs are misleading / unclear here. I'll ask the AT people to fix this.
Thank you for your comments. They are very important to me!

I entered the two commands you recommended ( 'git checkout release/v4.0' and a 'git submodule update' ), but it didn't have the desired effect.

Then I once again completely reinstalled OS Raspberry (detail see here - https://drive.google.com/file/d/10b7dKK ... sp=sharing) and again went through all the instructions step-by-step indicated on this link - https://docs.espressif.com/projects/esp ... et-esp-idf .

In particular, i used, exactly as specified in the instructions ( release/v4.0 ):

Code: Select all

git clone -b release/v4.0 --recursive https://github.com/espressif/esp-idf.git
So what was the result:

For "Hello_world" project:
- idf.py menuconfig : successfully
- idf.py build : successfully

For "ESP-AT" project
- idf.py menuconfig : FAILED
full dialogue here: https://drive.google.com/file/d/1mdDUp2 ... sp=sharing

ESP_XCGuang
Posts: 25
Joined: Fri Aug 31, 2018 7:34 am

Re: [Info] Using Raspberry Pi as a development environment

Postby ESP_XCGuang » Wed Apr 22, 2020 3:34 am

Hi,
Please refer to https://github.com/espressif/esp-at/blo ... Started.md
After cloing esp-at project, please unset IDF_PATH, and remove the esp-idf directory in esp-at project.
When you run "make" or "make defconfig" command, ESP-IDF will be cloned automatically into esp-at/esp-idf.
There is something wrong about the document, we will fix it, very sorry for that.
This is my toolchain version:

xtensa-esp32-elf-gcc --version
xtensa-esp32-elf-gcc (crosstool-NG esp32-2019r1) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

python --version
Python 3.8.0

If there is any question, please just feel free to let us know, or you can create an issue at https://github.com/espressif/esp-at/issues

Andreas12
Posts: 7
Joined: Thu Mar 05, 2020 10:24 pm

Re: [Info] Using Raspberry Pi as a development environment

Postby Andreas12 » Wed Apr 22, 2020 10:01 pm

xcguang wrote:
Wed Apr 22, 2020 3:34 am
Hi,
Please refer to https://github.com/espressif/esp-at/blo ... Started.md
After cloing esp-at project, please unset IDF_PATH, and remove the esp-idf directory in esp-at project.
When you run "make" or "make defconfig" command, ESP-IDF will be cloned automatically into esp-at/esp-idf.
There is something wrong about the document, we will fix it, very sorry for that.
This is my toolchain version:

xtensa-esp32-elf-gcc --version
xtensa-esp32-elf-gcc (crosstool-NG esp32-2019r1) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

python --version
Python 3.8.0

If there is any question, please just feel free to let us know, or you can create an issue at https://github.com/espressif/esp-at/issues
Hi!
Thank you very much for your explanation. It is very good that there is feedback.
Yes, unfortunately I did not succeed. FAILED. I will wait for the updated instructions.

Who is online

Users browsing this forum: No registered users and 53 guests