• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

RTL8710BN < $1.0 ?

pvvx

Активный участник сообщества
pvvx, я по одному купил.. :) 8710BN было всего 2шт вроде как, когда я увидел понижение цены на доставку... а вот до этого было тоже немного ~ 3-4шт. С 8195 прикольнее - там не было количества, а просто время продажи лота кончилось. (что как бы странно....)
По новым партиям не спрашивал у продавца, попробуйте написать ему в ebay - через день отвечает.
Он уже писал мне в сообщения профиля. Они видны всем, но ссылку не дать - дубль:
mjiot-amb Your REATEK RTL8710AF study was very thorough, I really admire you I am a Chinese company (the company's website Shenzhen Minjun IOT Technology Co. Ltd. — iot wifi module solutions expert), currently earn to do RTL8710AF WIFI module and the subsequent upgrade of the chip RTL8711B series version. I hope we can cooperate in the future!!!

Т.е. желает поддержки B серии...
Мне ныне не успеть и заказывать новые модули и что-то по ним делать, может только позже, когда появятся в более широком доступе и будет проще и быстрее заказать...
В текущем SDK почти всё есть для "B" серии, но надо переделывать линковку (*.ld файлы) и без наличия модулей там ковыряться не имеет смысла... 8711BN вроде покруче, но пока не нашел в продаже...
 
Последнее редактирование:

KomX

Member
В текущем SDK почти всё есть для "B" серии...
Судя по докам, переделывать многое придётся. Например, различается число таймеров, PWM каналов и т.д., а стало быть и структура регистров управления этим нововведением... Одним словом, без SDK, - это просто UART приставка с заданным функционалом для МК.
 

pvvx

Активный участник сообщества
Судя по докам, переделывать многое придётся. Например, различается число таймеров, PWM каналов и т.д., а стало быть и структура регистров управления этим нововведением... Одним словом, без SDK, - это просто UART приставка с заданным функционалом для МК.
Именно это и описано в SDK. Одна PMU (Power Management Unit) у "B" имеет почти в десять раз больше опций.
 

mjiot-amb

New member
[QUOTE = “A_D,交:36304,会员:72”] pvvx,再次在存在:
RTL8195 RTL8195AF IOT WiFi模块| 易趣
但8710BN走了......(我还没有买的最后一个;))[/ QUOTE]

RTL8710BN the first batch has been sold out, is currently doing the second batch, is expected to do a good job in May 30th,
RTL8710AF and RTL8195AM modules as well as the development board inventory, thank you support!!
 

A_D

Active member
Опять не успел, всё A_D скупил :) Просто некогда было разбираться со счетами на ebay - праздники-дети-город-дача...
Ай, ну зачем же вот так сразу бранить) ничего подобного, я больше двух штучек (разного вида) не покупал ;)
Хороших выходных!!
 

pvvx

Активный участник сообщества
вот у меня такое же ощущение :( и поддержка из ROM всяких секурных/шифровальных алгоритмов похоже просто не поместится в свободную память.
По задачам типа для Arduino - RTL8710BN выигрывает по RAM у RTL871xAF:
Ameba-I = "A" серия: RTL8195/RTL871xAx
Ameba-Z = "B" серия: RTL871xBx
Снимок1480.gif
Сравнительная таблица из SDK 4.0.a (поддерживает RTL8195/RTL871xAx и RTL871xBx серию).
В моей сборке SDK немного по другому - для такого рода приложений (из таблицы) для старой серии "A" объемы свободной памяти побольше, за счет "ужатия" глупостей из SDK даже с увеличением функциональности.

Пример c моим Web-сервером + websocket + debug функции + ...
При загрузке, до инициализации WiFi:
  • RAM heap 162520 bytes
  • TCM heap 64768 bytes
При уже включенной SoftAP+Station:
  • RAM heap 139064 bytes
  • TCM heap 4424 bytes
У HTTPD на ESP-32S всё значительно хуже, включая массу ограничений и ошибок, хотя там XIP, а размеры RAM чипа одинаковы. Т.е. в такой задаче RTL8710AF перебивает ESP-32S по всем параметрам, особенно потребления.
На RTL871xBN наверняка для моего варианта web выйдут примерно те-же параметры, но функциональность можно расширять до заполнения Flash.

C SSL/TLS выходит всё наоборот. Увеличение размера кода для приложений с SSL/TLS выходит практически равный буферам для дешифровки в RAM. Если код в XIP, тогда RAM требуется меньше.

Всё это полная ерунда, т.к. RTL8195 стоит дешевле ESP-32S, а заполнить чем-то осмысленным 2.5 МБ RAM пока не удается. :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Тест на требуемую энергию для соединения модуля RTL8710BN с внешней AP в SDK 4.0b.
Условия для теста:
  1. Никаких включений энерго-понижающих функций за время исполнения тестовой последовательности.
  2. Никаких модификаций функций SDK (используются только базовые функции).
Тестовая последовательность (в дальнейшем для сравнения c другими модулями):
  1. Включение питания или просыпание модуля из deep_sleep.
  2. Включение/полная инициализация WiFi драйвера (с оповещением по стандарту WiFi).
  3. Подключение к внешней AP с шифрованием WPA2/AES.
  4. Запрос и получение модулем IP по DHCP от внешней AP.
  5. Получение времени по запросу SNTP через DNS c pool.ntp.org.
  6. Вывод времени на UART или другие интерфейсы.
  7. Отключение от внешней AP по стандарту WiFi.
  8. Переход в deep_sleep или полное отключение питания.
Итого вышло:
Замер тока по 3.3В за 350 секунд (шкала в 0.1 сек):
Снимок1588.gif
Модуль просыпается из deep_sleep в 10 сек, производит тестовую последовательность и опять уходит в deep_sleep.
Среднее потребление за замер 0.035290 A (35 мА), 26 соединений, 40.75963792 Дж (вместе с потреблением в deep_sleep, но там утечка всего 17..18 мкА и можно не думать).

Итого:
В среднем одно соединение пожирает 1.567678381 Дж.


Для наглядности, пара выборок потребления за тестовую последовательность (шкала в 0.1 сек):
Снимок1589.gif
Среднее время работы в RTOS 3.6 сек. Остальное уходит на запуск, инициализацию, отключение WiFi и переход в deep_sleep. Путем понижении частоты CPU можно уменьшить кол-во пожираемых калорий модулем в тестовой последовательности до двух раз, т.к. внешние задержки связи преобладают и производительность в 150 000 Dhrystones/sec от самого модуля не требуется.

Код:
ROM:[V0.1]tialized
FLASHRATE:4
BOOT TYPE:0 XTAL:40000000
IMG1 DATA[1112:10002000]
IMG1 ENTRY[800043b:100021dd]
IMG1 ENTER
CHIPID[000000ff]
read_mode idx:0, flash_speed idx:0
calibration_result:[1:3:13][b:d]
calibration_result:[2:13:7][1:d]
calibration_result:[3:3:3][1:3]
calibration_ok:[2:13:7]
FLASH CALIB[NEW OK]
OTA2 ADDR[ffffffff]
OTAx SELE[ffffffff]
OTA1 USE
IMG2 DATA[0x805ae24:7408:0x10005000]
IMG2 SIGN[RTKWin(10005008)]
IMG2 ENTRY[0x10005000:0x8058367]
===== Enter Image 2 ====
System_Init1
OSC8M: 7f8d0f
boot reason: 0
System_Init2
#interface 0 is initialized
interface 1 is initialized

Initializing WIFI ...
LDO Mode, BD_Info: 0
LDO Mode, BD_Info: 0
Start LOG SERVICE MODE
#
wlan_init_done_cb: Time at start 164 ms.
RTL8195A[Driver]: set ssid [*******]
RTL8195A[Driver]: start auth to bc:ae:c5:eb:09:90
RTL8195A[Driver]: auth success, start assoc
RTL8195A[Driver]: association success(res=3)
wlan1: 1 DL RSVD page success! DLBcnCount:01, poll:00000001
RTL8195A[Driver]: set pairwise key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4)
RTL8195A[Driver]: set group key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4) keyid:2
wifi_connected [0] at start 3078 ms.
Interface 0 IP address : 192.168.1.72
DHCP_START [2] at start 3591 ms.
Wed Aug  9 20:58:04 2017  + 626990 usec
Enter deep sleep at start 3628 ms.
LwIP_DHCP: dhcp stop.
Deinitializing WIFI ...
Код:
#include "FreeRTOS.h"
#include "task.h"
#include "diag.h"
#include "main.h"
#include <platform/platform_stdlib.h>
#include <sntp/sntp.h>
#include <lwip/sockets.h>
#include <lwip_netconf.h>
#include <dhcp/dhcps.h>
#include "wifi_conf.h"
#include "sleep_ex_api.h"

extern struct netif xnetif[NET_IF_NUM];
typedef int (*wlan_init_done_ptr)(void);
extern wlan_init_done_ptr p_wlan_init_done_callback;


#define WiFi_SSID "******"
#define WiFi_PASSWORD "*******"
#define WiFi_CHANNEL 1
#define WiFi_SECTYPE RTW_SECURITY_WPA2_AES_PSK 

   
static void show_time(void)
{
    unsigned int update_tick = 0;
    long update_sec = 0, update_usec = 0;
    uint32_t tt = xTaskGetTickCount();
    while(xTaskGetTickCount() - tt < 3000) {
        sntp_get_lasttime(&update_sec, &update_usec, &update_tick);
        if(update_tick) break;
        vTaskDelay(1);
    }
    long tick_diff_sec, tick_diff_ms, current_sec, current_usec;
    unsigned int current_tick = xTaskGetTickCount();

    tick_diff_sec = (current_tick - update_tick) / configTICK_RATE_HZ;
    tick_diff_ms = (current_tick - update_tick) % configTICK_RATE_HZ / portTICK_RATE_MS;
    update_sec += tick_diff_sec;
    update_usec += (tick_diff_ms * 1000);
    current_sec = update_sec + update_usec / 1000000;
    current_usec = update_usec % 1000000;
    printf("\n%s + %d usec\n", ctime(&current_sec), current_usec);
}

int wlan_init_done_cb(void)
{
      char ssid[] = WiFi_SSID;
      char password[] = WiFi_PASSWORD;
      int ret;
    printf("\r\n\%s: Time at start %d ms.\n", __func__, xTaskGetTickCount());
#if CONFIG_LWIP_LAYER
    netif_set_up(&xnetif[0]);
#endif
#if 0 // CONFIG_AUTO_RECONNECT Enable in wlan_network()
    // setup reconnection flag
    ret = wifi_set_autoreconnect(1);
    printf("\nwifi_set_autoreconnect [%d] at start %d ms.\n", ret, xTaskGetTickCount());
    if(ret < 0)    goto go_deep;
#endif
    ret = wifi_connect(ssid, WiFi_SECTYPE, password, strlen(WiFi_SSID),    strlen(WiFi_PASSWORD), -1, NULL);
    printf("\nwifi_connected [%d] at start %d ms.\n", ret, xTaskGetTickCount());
 
    if(ret == RTW_SUCCESS){
        ret = LwIP_DHCP(0, DHCP_START);
        printf("\nDHCP_START [%d] at start %d ms.\n", ret , xTaskGetTickCount());
        if (ret == DHCP_ADDRESS_ASSIGNED) {
            sntp_init();
            show_time();
            sntp_stop();
        }
    }
go_deep:
    printf("Enter deep sleep at start %d ms.\n", xTaskGetTickCount());
    // stop dhcp server
    dhcps_deinit();
    wifi_off();
    // enter deep sleep
    deepsleep_ex(DSLEEP_WAKEUP_BY_TIMER, 10000);
    return ret;
}

void main(void)
{
    if ( rtl_cryptoEngine_init() != 0 ) {
        DiagPrintf("crypto engine init failed\r\n");
    }
    /* Initialize log uart and at command service */
    ReRegisterPlatformLogUart();
    /* wlan intialization */
#if defined(CONFIG_WIFI_NORMAL) && defined(CONFIG_NETWORK)
    wlan_network();
#endif
    /* Execute application example */
    // Call back from wlan driver after wlan init done
    p_wlan_init_done_callback = wlan_init_done_cb;
        /*Enable Schedule, Start Kernel*/
#if defined(CONFIG_KERNEL) && !TASK_SCHEDULER_DISABLED
    #ifdef PLATFORM_FREERTOS
    vTaskStartScheduler();
    #endif
#else
    RtlConsolTaskRom(NULL);
#endif
}
 
Последнее редактирование:

aloika

Active member
Поискал сейчас в инете - получается, что модуль с RTL8710BN всё также сложно купить. Или я не прав и где-то есть тайные источники, где модули лежат и дешево? На али emw3080 предлагают за 330 рублей с доставкой, как-то не дёшево. AMB-03 вообще не видно. Конечно, всё есть на таобао, но оттуда так просто не достать
.
Стоит ли начинать пробовать что-то делать на этих модулях, если и потом их вряд ли купишь?
 

sharikov

Active member
модуль с RTL8710BN всё также сложно купить. Или я не прав и где-то есть тайные источники, где модули лежат и дешево? На али emw3080 предлагают за 330 рублей с доставкой, как-то не дёшево. AMB-03 вообще не видно.
...
Стоит ли начинать пробовать что-то делать на этих модулях, если и потом их вряд ли купишь?
Если вам труд оплачивают и работодатель готов закупать модули напрямую в китае то стоит.
Если у вас есть задачи которые можно решить только модулем на 8710BN и никаким другим модулем задача не решается берите emw3080 за любые деньги - он единственный доступен в данный момент.
Во всех остальных случаях терять время на этот чип не стоит.
 

pvvx

Активный участник сообщества
Поискал сейчас в инете - получается, что модуль с RTL8710BN всё также сложно купить. Или я не прав и где-то есть тайные источники, где модули лежат и дешево? На али emw3080 предлагают за 330 рублей с доставкой, как-то не дёшево. AMB-03 вообще не видно. Конечно, всё есть на таобао, но оттуда так просто не достать
.
Стоит ли начинать пробовать что-то делать на этих модулях, если и потом их вряд ли купишь?
Альтернатива пока только одна - RDA5981, но у меня их пока нет и они не исследованы для применения в автономных поделках.
На RTL8710BN наверно и не стоит смотреть, а надо рассчитывать на RTL8711BU.

RTL-WIFI-SOC.gif
 
Последнее редактирование:
Сверху Снизу