2020-05-08

Посылаем данные в облако через мобильную сеть

diy, esp32, arduino

Пришел интересный модуль - TTGO T-Call ESP32 SIM800L.

По сути это ESP-32 Wrover соединенный с модулем SIM800L который умеет работать с 2G сетями. С 3G уже не умеет, но это и не нужно если объем передаваемых данных не велик.

Залил тестовую прошивку, найденную у RandomNerd предварительно адаптировав ее для работы https://requestbin.com/.

И ура! Теперь я могу посылать данные по GPRS!

Тестовый скетч залил на Github.

 

Оставить комментарий

 
  2020-04-29

Сделал постинг блога в Телеграм

движек

Пользуясь временем, предоставленным нам на карантине, сделал постинг блога в Телеграм.

Давно хотел это сделать, но на это было нужно значительно больше времени и желания чем я располагал.

И вот короновирус, заставивший людей сидеть дома, подарил мне такую возможность.

Встречайте: телеграм канал, привязанный к этому сайту: https://t.me/maxistar_site_channel

 

Оставить комментарий

 
  2020-04-25

Аудиокнижки

книги

Нашел на Youtube кучу аудиокниг - зачем кто-то выкладывает аудио книги на ютуб, да еще без монетизации я не знаю, но факт они там есть.

А значит будем слушать, фоном очень хорошо идет.

 

Оставить комментарий

 
  2020-04-22

Уведомление о наличии ВНЖ

разное, занимательная юриспруденция

Известно, что если вы решили уехать на постоянное место жительство в другую страну, в России необходимо об этом уведомить ФМС по месту жительства. Встал вопрос где найти нужную форму для заполнения. Поиск в сети оказался нетривиальным. В основном попадаются формы в формате Microsoft Word, а у меня на компьютере стоит Linux а ставить Microsoft Word ради одной формочки как то слишком. 

Вроде бы нужная форма есть в Гаранте но как ее заполнить? Похоже в ее верстали еще в во времена Лексикона - сейчас такого софта уже не достать.

В результате потратил почти целый день на поиск формы в подходящем формате.

Если вдруг кому надо - выкладываю форму сюда.  

Многие ругают немецкую бюрократию, но по сравнению с российской немецкая бюрократия гораздо проще и понятнее. По крайней мере в Берлине все формы есть на сайтах соответсвуюших министерств в формате pdf их легко найти и заполнить.

 

Оставить комментарий

 
  2020-04-22

Подсветка светодиодной лентой WS2812b - продолжение

diy, esp32, arduino

Решил спаять новое устройство на смену временной макетной плате, которая стоит на шкафу и пылиться.

Сказано сделано - спаял новое устройство. Однако, работать оно поначалу не захотело.

Сначала при включении светодиоды начинали хаотически мигать. Опытным путем было установлено, что эффет проявлялся только если напряжение питания модуля 3.33 вольта и ниже. Если повысить напряжение до 3.5 вольт все начало работать нормально. Видимо, пятивольтовая логика ленты WS2812b не совместима с 3.33 вольтовой логикой ESP32. По идее нужен преобразователь уровня.

В определенный момент всплыл другой глюк. Опять стали подмигивать отдельные светодиоды. Стал искать причину. Выяснилось следующее: из-за того, что новая плата у меня ESP 32 Wroom а не ESP 32 Cam при заливке прошивки я выбрал другой тип платы - ESP32 Dev Board с часторой 120MГц. Раньше прошивал с настройкаи для ESP32 Wroover на 80МГц и на 40МГц. Интересно, что система прошилась нормально, а вот лента стала странно подмигивать. При этом эффект уже  не зависил напряжение питания. Вернул предыдущие настройки - все стало опять хорошо.

И вот устройство стоит, лампочки мигают, казалось бы все хорошо. Однако через некоторое время устройство перестает отзываться по Wifi. При этом оне не зависает, нет - выбранный световой эффект продалажает работать - просто устройство отказывается открываться по сети. Лекарство пока не нашел, хотя есть несколько предположений, почему это происходит.  В новой прошивке есть возможность отключать энергосбережение WiFi - предполагается это может решить проблему. Так ли это - посмотрим.

Upd: с вайфаем получилось интересно. Перепробовал разное - и понижать напряжение питания, и включать специальный флаг, чтобы чип не переходил в режим энергосбережения - такое есть в последней прошивке - все равно через некоторое время устройство переставало отвечать на запросы, хотя и продолжало работать - по таймеру эффекты продолжали стабильно запускаться. И вот, вчера, попробовал на роутере переключить канал с четвертого на восьмой - домашние жаловались, что у них плохо работает интеренет. И вот уже второй день устройство нормально отзывается по сети. Что это такое я пока не понял, но корреляция определенно тут есть.

 

Оставить комментарий

 
  2020-04-20

Вычислить n знаков числа Пи

программирование

В Твиттере Раймонда Хеттингера был интересный твит - вычисление n знаков числа Пи - на Питоне.

Стало интересно как записать это на JavaScript. Сказано - сделано:


function pi(places) {
    const extra = 8;

    const pow = function(number, power) {
        result = number;
        for(let i = 0; i < power; i++) {
            result *= number;
        }
        return result;
    }

    const one = pow(BigInt(10), places + extra)
    let t = BigInt(3) * one;
    let c = BigInt(3) * one;
    let n = BigInt(1);
    let na = BigInt(0);
    let d = BigInt(0);
    let da = BigInt(24);
    while (t > 1) {
        n = n + na;
        na = na + BigInt(8);
        d = d + da;
        da = da + BigInt(32);
        t = (t * n / d);
        c += t;
    }
    return (c / pow(BigInt(10), extra))
}

console.log(pi(100)) //3141592653589793238462643383279502884197169399375105820974944592307816406
                     //2862089986280348253421170679

Занятно было посмотреть как работают вычисления в BigInt - если результатом деления двух Int в JavaScript будет Float то результатом деления двух BigInt будет тоже BigInt. При этом нельзя использовать Math.pow для возведения в степень - результатом Math.pow оказывается Number и точность вычислений заметно теряется. Поэтому пришлось делать свою функцию pow c n умножений. Как сделать лучше пока не придумал.

Как мы видим работать с int64 на Питоне значительно проще - Javascript тут значительно проигрывает.

 

Коментариев: 1

 
  2020-04-16

Amazfit Stratos 2

гаджеты

Уже давно купил себе новый девайс на смену умершему Pebble. Первые впечатления оказались очень хорошими - выглядит круто, работает долго, Андроид на борту - а значит можно ставить Андроидные приложения.

Одно расстраивало - не вибрирует когда приходит входящий звонок. Не показывает уведомления. Не вибрирует. Вобщем самые главные функции не работают.

И вот что оказалось - оказывается был включен режим "не беспокоить (DND) в настройках часов.

Зашел в настройки, отключил DND и вуаля - теперь все работает. Как так получилось, то ли это я его включил случайно, то ли изначально он был включен? 

Главное сейчас всё работает.

 

Оставить комментарий

 
  2020-04-08

Новый клиент Эфириума

разное

Интересно следить за тем как развиваются сейчас криптовалюты. Еще недавно чтобы поиграться, скажем, с Эфиром нужно было ставить софт, ждать дни и даже недели пока скачается блокчейн на локальльный диск, после этого можно было попробовать что-то куда-то перевести и еще не факт что получится. Сейчас же, поставить клиент - это дело трех секунд. Создать кошелек, вообще просто. Непонятно, правда, почему нет такого же легкого клиента под десктоп - только под мобильные платформы. Это и Биткоина, кстати, касается, официальный легкий клиент есть только под Андроид, под десктоп - тормозной монстр, который съест все свободное пространство вашего жесткого диска и не подавится.

При этом методы, которые я использовал несколько лет назад признаны устаревшими, а полную ноду вообще на локальный компьютер ставить не рекомендуется.

Зато теперь, пользоваться эфиром может кто угодно, где угодно и как угодно. Все это вселяет оптимизм и надежду что, когда нибудь эти технологии все же дорастут до массового потребителя.

 

Оставить комментарий

 
  2020-04-07

Как сконфигугировать FreePBX на Raspberry Pi

howto

Сделал небольшую статейку про то как сконфигурировать Free PBX для работы в качестве мини-АТС - вдруг кому-то будет интересно...

Статейка пока сырая, дополнения и исправления будут позже.

 

Оставить комментарий

 
  2020-04-04

Поламаю-ка я свой сайт

разное

Пока все сидят по домам во время великого короновирусного карантина я решил немного поработать над сайтом. Что можно сказать - это боль, поддерживать код который я писал более десяти лет назад, это боль. Примеряет меня с собой только тот факт что код я писал в то время когда был молодой и глупый и я игнорировал все принципы написания хорошоего кода.

Теперь будем все это рафокторить. В ближайшее время все будет поломано. Надеюсь со временем смогу сделать что-нибудь достойное, или не смогу, время покажет.

 

Оставить комментарий