Setup Helium miner wi-fi credentials without official app, if Helium App, Nebra... etc do not see the hotspot
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Компьютерная повседневность
- Просмотров: 907
2. Encode your WiFi hotspot name and password into Protobuf on
Protobuf definition:
syntax = "proto3";
message wifi_connect_v1 {
string service = 1;
string password = 2;
}
Decoded Message:
{
"service": "mywifi",
"password": "mypwdgood"
}
Press the button 'Encode' (see the picture below) and copy hex value (in example it is: 0a066d797769666912096d79707764676f6f64)Example:
3. Open LightBlue and connect to your hotspot via BLE (before press bluetooth button on hotspot + on rear side with stick for 5 sec to see LED become blue):

4.Navigate to services and choose WiFi Connect (
UUID: 398168aa-0111-4ec0-b1fa-171671270608)
5. Write the hex value there:

6. Reconnect Helum miner to power, switch to bluetooth again, check the connection by reading WiFi SSID- readable value shoud not be empty

7. Enjoy
photopea - простой отличный онлайн редактор фотографий
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Компьютерная повседневность
- Просмотров: 903
https://www.photopea.com/
STM32F UART vulnarability fixed
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Программирование микроконтроллеров
- Просмотров: 1142
HAL_UART_Receive_IT( &huart2, (uint8_t * )aRXBufferUser, RX_BUFFER_SIZE);
...
void HAL_UART_RxCpltCallback(UART_HandleTypeDef * huart) {
/* USER CODE BEGIN HAL_UART_RxCpltCallback_1 */
/* USER CODE END HAL_UART_RxCpltCallback_1 */
if (huart->Instance == USART1) {
if ((NULL != RxCpltCallback)
&& (HAL_UART_ERROR_NONE == huart->ErrorCode)) {
RxCpltCallback( &charRx, 1, 0);
}
HAL_UART_Receive_IT(huart, &charRx, 1);
}
/* USER CODE BEGIN HAL_UART_RxCpltCallback_2 */
if (huart->Instance == USART2) {
UART2_SET = 1;
}
/* USER CODE END HAL_UART_RxCpltCallback_2 */
}
void MeasurePM_sens(void) {
uint16_t RxLen;
if (aRXBufferUser[0] == 0x02 && aRXBufferUser[31] == 0x03) {
PM2_5 = aRXBufferUser[5] + aRXBufferUser[6] * 256
+ aRXBufferUser[7] * 65536;
UART2_SET = 0;
HAL_UART_Receive_IT( &huart2, (uint8_t * )aRXBufferUser, RX_BUFFER_SIZE);
} else
HAL_UARTEx_ReceiveToIdle( &huart2, (uint8_t * )aRXBufferUser,
RX_BUFFER_SIZE, &RxLen, 1000);
}
//or:
HAL_UARTEx_ReceiveToIdle_IT(&huart2, (uint8_t*) aRXBufferUser, RX_BUFFER_SIZE);
Ok it not fixed fully will add some timer... probably..upd: interesting but works - two calls together:
HAL_UART_Receive_IT(&huart2, (uint8_t *) aRXBufferUser, RX_BUFFER_SIZE); HAL_UARTEx_ReceiveToIdle(&huart2, (uint8_t *) aRXBufferUser, RX_BUFFER_SIZE, &RxLen, 1000);
PonyProg2000 update to work with ATmega328P (Arduino Nano)
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Программирование микроконтроллеров
- Просмотров: 1326
Supports:
0x1E 0x94 0x0B // new ATmega168PA (RG 28.09.2012)
0x1E 0x95 0x0F // new ATmega328P (RG 23.06.2012)
0x1E 0x94 0x0F // new ATmega164A (RG 30.08.2013)
0x1E 0x95 0x15 // new ATmega324A (RG 30.08.2013)
0x1E 0x95 0x11 // new ATmega324PA (RG 30.08.2013)
0x1E 0x96 0x0A // new ATmega644PA (RG 18.04.2012)
Патчер:
Хорошая русскоязычная статья по LoRaWAN
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Электроника / cхемотехника
- Просмотров: 858
Страница 35 из 197
