Category: it

FLY

Телеграм бот за 5 минут

Причём, в Виндоус7 x86 (32-бит).
Без знаний программирования, без хостинга, даже без особого понимания как всё работает.

1) Проще всего сделать это на PHP.
Скачиваем ПХП с их сайта https://windows.php.net/download#php-7.3
https://windows.php.net/downloads/releases/php-7.3.4-nts-Win32-VC15-x86.zip
Разархивируем на диск в папку php7, например.

2) https://getcomposer.org/download/ для винды https://getcomposer.org/Composer-Setup.exe
Теперь надо установить в php composer - менеджер зависимостей, потому что потребуется ставить сторонние библиотеки и через него это сделать проще всего. Скачиваем https://getcomposer.org/installer и переименовываем в composer-setup.php
запускаем из командной строки php composer-setup.php
после чего в папке php7 появится composer.phar - сам скачается из интернета.
Запускать его будет тоже через php composer.phar
а команды композера будем добавлять ему же в командную строку.
Можно вообще создать командный файл с именем composer и поместить внутрь строку "php composer.phar" для аутентичности.
Composer-Setup.exe делает всё это в стиле Виндов клик-энд-фогет

3) Устанавливаем Guzzle, через композер: php composer.phar require guzzlehttp/guzzle

4) Создаем или копируем два файла: telegramBot.php , init.php - они должны быть в кодировке UTF-8
Берем и копипастим отсюда https://toster.ru/q/500798

5) Потом, или перед этим, создаём бота в телеге у @BotFather и копипастим АПИ токен в текст программы. в файл telegramBot.php
Для регистрации нового бота нужно придумать ему имя. Лучше создавать нового, а не использовать старого с которым вы уже экспериментировали, поскольку там может быть включен webHook И он будет мешать работе через LongPoll

6) Запускаем php init.php -- готово!
Логика работы бота пишется в этом файле. Пока php запущен, бот работает. После отладки можно его запустить где-нибудь на удалённом сервере. Пусть живёт там.
promo dim_wap august 7, 2012 14:17 6
Buy for 10 tokens
Ни один поисковик в мире не находил ещё ни одного текста с фразой "уход за слизнями", до сегодняшнего дня. Попадались, в основном, ссылки на советы огородникам как бороться с ними, ухаживая за садом. Его называют самым отвратительным вредителем сада и огорода. Пора исправить ошибку. Поговорим о…
FLY

ip cam 1M IPCX-BC43272

Поебался с айпи камерой... она выебала мне весь мозг. Китай такой китай.
Мегапиксельная IPCX-BC43272:
два потока (stream):
-1280*720 @ 20 кадров с аудио (0.sdp)
- 704*576 @ 50 кадров без ничего. (1.sdp)
Внутри, вероятно HI3518E+OV9712P processing chip
Строка просмотра в VLC: rtsp://192.168.1.234:554/user=admin&password=&channel=0&stream=0.sdp

В прошивку встроены три бэкдора с именем default и паролями OxhlwSG8, tlJwpbo6, S2fGqNFs, 6QNMIQGe
http://www.ispyconnect.com/man.aspx?n=Ali%20Express
https://mysku.ru/blog/aliexpress/26552.html
Вход в настройки через веб возможен только через интернет эксплорер.
Для Андроида есть приложение XMeye - работает сразу из коробки, но требует регистрации через приложение с помощью подтверждения по емайл на китайском облаке. Камеру находит влёт и без проблем.

А всяческие сайты с информацией оказались бесполезны
https://www.beward.ru/question/39--formy-zaprosa-videopotoka--rtsp--http--s-avtorizaciej/
Всевозможные программы для поиска и конфигурирования эту камеру не находят.
FLY

Блогун

Хотел попробовать по старой памяти подзаработать на блоге в ЖЖ.
Нашел пароль от акка на Блогуне, зашел потыкался. Получил задания, начал постить...
И тут оказалось (совсем забыл), что ЖЖ не дает поисковикам индексировать бесплатные блоги. Не все дает. Если блог популярный и живой - может пропустить индексация. Что-то вроде цензуры от спамных блогов, которые создают пачками, чтобы манипулировать поисковыми алгоритмами и зарабатывать на SEO. Я этим занимался 7 лет назад, всё позабывал. На платном аккаунте все ограничения снимаются. По минималке $3/мес надо платить (сразу за год вперед меньше - $25), возможно оптимально для пробы - два месяца за $5. В рублях это больше трёхсот. Да у Блогуна минималка 1000р, минус 15% комиссии. Получается, нужно постить за 2 месяца 100 ссылок, чтобы отбить расходы и вывести доход. 15 рублей ссылка. По две ссылки в день. Муторное занятие. Ну его...

Collapse )
FLY

немного про кабель USB-LPT

Китай уже давно выпускает такой кабель-переходник, и его многие купили в надежде, что смогут подключить через него LPT устройство, например программатор, но обломались. Интернет полон стонов по этому поводу. В их числе был и я, тех кто купил давным давно такой кабель, и с тех пор он так и валяется, как у многих. Вердикт: кабель непригоден для программаторов WILLEM и подобных, где требуется низкоуровневое управление битами порта по стандартным адресам BIOS для порта принтера. Этот кабель подходит только для принтеров, у которых есть lpt. Это матричные Эпсоны и некоторые лазерные HP.


Но всё же, что там внутри этого кабеля? Что под этой пластиковой кляксой на платке? Оказывается, там китайский микроконтроллер того же типа, что и широко известный CH341. (Его сейчас везде пихают как дешевый переходник USB-COM.) Но он более универсален, в нём присутствуют шины USB,UART, I2C, SPI, GPIO, JTAG, RS232/RS485. И всё это добро программируется, а также управляется через готовые библиотеки, есть примеры подключения для разных языков программирования. CH341DLL.dll  — основная библиотека.


Collapse )
FLY

(no subject)

esp8266
Прикрутил солнечный элемент (3*3см) к входу А0 платки esp8266, задал кусочную функцию. Точность не нужна. Да и не получается точно измерить, разброс паказаний у функции adc.read(0) огромный. Может конденсатор и резистор надо запараллелить с солнечным элементом, интегрировать аналогово. Усредняю пока по нескольким считываниям. Кусочная функция - эмпирическая, точность устраивает. Пришлось таки установить прошивку с float, по понятным причинам. Иначе только целочисленная арифметика, а с плавающей точкой пришлось и вывод форматировать - дополнительная возня.
Что интересно, при перепрошивке esp8266 файлы lua не теряются. Флэш память разбита на две области: системная - около 1 мб, и пользовательская 3мб - для файлов. При перепрошивке в область 0x000000 заменяется только система. Бин-файл около 400кб (я выбирал только необходимый минимум функций). Сначала, как обычно, прошил integer-вариант прошивки и был удивлён числам в расчётах, округлённым до целых.
FLY

esp8266

Пару месяцев назад заинтересовался этой китайской штукой, и вот - получил на руки. Пришло от алиэкспресса по почте. Воткнул в комп, подключился по компорту, но выдаёт какой-то мусор. На скорости 115200 пишет сначала "Connect to 1908...", а затем каждую секунду добавляется новая точка...
На ноутбуке, списке точек доступа, появилась ещё одна с именем AI-THINKER...
Что свидетельствовует о работе вайфая.

Первым делом стал искать информацию и программы, ведь я полный ноль.
Выяснил, что система на плате как черный ящик. Неизвестно практически всё, даже характеристики платы, вроде размера оперативной памяти. По картинкам определил, что у меня вероятно модуль ESP-12 , с компортом на ch340 (китайская дешёвое решение, поэтому плата стоила рублей 170). Wemos d1 mini - так на ней написано.

Так как плата никак не откликалась и делала неизвестно что - начать следовало с прошивки.
Для создания кастомной прошивки служит облачный сервис http://nodemcu-build.com/
Проставляются нужные галочки и внизу страницы жмякается кнопка, на емайл приходит ссылка.
Скачал себе bin - в инете советуют скачивать integer вариант, а не float.

(есть и другие варианты, описанные в доках https://nodemcu.readthedocs.io/en/master/en/build/ )
Для прошивки образа использовал программу ESP8266Flasher.exe
В ней нужно на вкладке Config в первой строчке нажать на шестерёнку и выбрать файл прошивки.
Потом в Operation выбрать компорт и нажать Flash. Появятся мак-адреса и поползёт полоска прогресса.
По окончании, после перезагрузки девайса (на нем есть кнопка), будем иметь систему со всеми фукциями, выбранными для прошивки, и интерпретатор lua доступный по компорту. В порт отправляется строчка с текстом программы, она интерпретируется как написанная на языке lua и выполняется на устройстве. Выводимый текст печатается обратно на ком-порт.

Для комфортной работы с LUA потребуется другая программа, я скачал LuaUploader 1.0.2.4 тут
https://github.com/hwiguna/g33k/tree/master/ArduinoProjects/Windows/ESP8266_Related

В ней уже изначально забита программка мигающая светодиодом. Жму на кнопку, программа копируется в ком-порт на esp8266, записывается туда в файл my.lua и запускается. Мигает синий светодиод на GPIO.
Можно скомпилировать в байткод lua, запустить его, удалить файл.
Если назвать файл init.lua он будет запускаться при включении.

Всё, я приобщился и получил удовлетворение.
Впереди ещё много чудесных открытий. Описание языка и функций тут:
https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_ru
Документация https://nodemcu.readthedocs.io/en/master/
Полезные ссылки:
http://wiki.eluaproject.net/
https://github.com/nodemcu/nodemcu-flasher
https://esp8266.ru/esp8266-nodemcu/
https://esp8266.ru/esp8266-nodemcu-luauploader/
https://github.com/nodemcu/nodemcu-firmware/
https://github.com/mharizanov/ESP8266_Relay_Board/tree/master/firmware
https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_ru
- на русском

http://mysku.ru/blog/aliexpress/40475.html
http://www.letscontrolit.com/index.php/index.php#ESPEasy - мультисенсор, конфигурируемый через веб
https://esp8266.ru/esp8266-nodemcu-low-cost-switch/
https://geektimes.ru/post/276280/
http://mysku.ru/blog/aliexpress/37815.html
https://esp8266.ru/tag/esp8266-2/
blynk - программирование в среде Arduino, управление со смартфона
FLY

Платка с Wi-Fi и встроенным языком Lua за $10

Оригинал взят у ramlamyammambam в Платка с Wi-Fi и встроенным языком Lua за $10
esp-12e-side-view

Плата называется ESP12E Devkit, или NodeMCU. Мне она досталась за $10 с сайта ICStation. Построена она основе модуля ESP8266 и проекта eLua. Поддерживает интерфейсы Wi-Fi, GPIO, PWM, UART, SPI, I2C, PWM, 1-wire, ADC, таймеры, имеет файловую систему. Документация и исходники прошивки находятся здесь: https://github.com/nodemcu/nodemcu-firmware

esp-12e

Принципиальная схема: https://github.com/nodemcu/nodemcu-devkit-v1.0/raw/master/NODEMCU_DEVKIT_V1.0.PDF



Плата подсоединяется к компьютеру кабелем microUSB и распознаётся как виртуальный последовательный порт. В Линуксе её видно как:
    $ lsusb
    Bus 007 Device 007: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light

Подключаемся через эмулятор терминала на скорости 9600:
    NodeMCU 0.9.6 build 20150627  powered by Lua 5.1.4

    ESP8266 Started
    Start soft AP
    > _

По бейсиковой традиции, пробуем таблицу квадратов и кубов:
    > for i=2, 10 do
    >> print(i, i*i, i*i*i)
    >> end
    2       4       8
    3       9       27
    4       16      64
    5       25      125
    6       36      216
    7       49      343
    8       64      512
    9       81      729
    10      100     1000
    > _

На логической ножке 0 (сигнал GPIO16) находится светодиод. Пробуем помигать:
    > gpio.mode(0, gpio.OUTPUT)
    > while true do
    >> gpio.write(0, gpio.HIGH)
    >> tmr.delay(500000)
    >> gpio.write(0, gpio.LOW)
    >> tmr.delay(500000)
    >> end

Кучу других примеров смотрите на сайте проекта NodeMCU.

К сожалению, это не MIPS. Это другой 32-битный RISC процессор, называется Tensilica Xtensa LX106. Был бы MIPS, цены бы ему не было. :)

FLY

собственный пул для стратума вместо гетворка на кошельке

Когда майнишь соло на кошельке bitcoin-qt есть одна проблема - кошелек не понимает протокол stratum, только getwork. В майнеры cgminer/bfgminer стратум был встроен. А новые мощные асикмайнеры (Antminer, например) со своими, встроенными в роутер майнерами, не работают по гетворк и принимают в настройки только строку со stratum+tcp://адрес
Так что простой соло майнинг (прямым указанием майнеру брать задания с кошелька) не работает. Зато все отлично работает с пулами в интернете. Вот и приходится задумываться об установке собственного пула. Возможно ли это на Виндоус, или придется ставить Линукс?
Collapse )
Чтобы не сыпались ошибки, достаточно поставить mysql и отредактировать две строки в конфиге, добавив свой логин-пароль для параметров share_db_.
UPD: mysql поставить нужно и создать таблицу shares в sharedb по образцу
http://hhtt.1209k.com/socks/SockThing-0.6.0-createtables.txt
create table shares
(
rem_host varchar(128),
client varchar(128),
username varchar(128),
our_result varchar(16),
upstream_result varchar(16),
reason varchar(64),
difficulty double,
time timestamp default now(),
hash varchar(64),
unique_id varchar(64),
block_difficulty double
) engine innodb;

create index shares_time_idx_2 on shares(username, time, our_result, difficulty);
create index share_hash_idx on shares(hash);
create index shares_up_result on shares(upstream_result);
create index shares_time_idx_3 on shares(time);
create unique index shares_unique_idx on shares(unique_id);

После этого и ошибки перестают сыпаться и статистика веселее выглядит.
FLY

php 2D штрихкод PDF417 barcode

Понадобилось сформировать на сайте картинку средствами php и вставить в нее двумерный штрихкод стандарта PDF-417. Задача оказалась вполне решаема, хотя обнаружились и подводные камни. В интернете продаётся много монстров для рисования различных графиков, чартов и схем, в том числе и разных штрих-кодов. Цена за лицензию, правда, от ста баксов. Так и по миру пойти можно, если за каждую картиночку платить по сто даже рублей. Пришлось насиловать гугл, чтобы выдал тексты на пхп, генерирующие двумерный штрихкод. Теория самого кода нашлась на сайте http://grandzebu.net/index.php?page=/informatique/codbar-en/codbar.htm - открытый проект, с полным внятным описанием на двух языках и работающей программой на бейсике. Переписывать с бейсика на php теоретически можно, но не кажется мне продуктивным.
Из всех перелопаченных проектов на php лучшим оказался http://jpgraph.net/ - версия умеющая рисовать PDF417 называется PRO и стоит денег. Но гугл выдал по фразе "jpgraph_pdf417" много содержимого с сайтов и удалось скачать то что нужно.
Для работы с PDF417 на PHP достаточно взять из /jpgraphpro/ файлы
jpgraph_pdf417.php
pdf417_clusters.inc.php
pdf417_compressors.inc.php
pdf417_backends.inc.php
pdf417_error.inc.php (скачать можно тут)

скачать бесплатный "не-про" с сайта http://jpgraph.net/ и развернуть на своем сайте
добавить в свой php-файл строчки
require_once('../jpgraph/src/jpgraph.php');
require_once('../jpgraph/src/jpgraph_canvas.php');
require_once('jpgraph_pdf417.php');

настроить пути к шрифтам в файле jpg-config.inc.php а то по умолчанию там стоит
// DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");

Возможно пригодятся и
DEFINE("LANGUAGE_CYRILLIC",true);
// If you are setting this config to true the conversion
// will assume that the input text is windows 1251, if
// false it will assume koi8-r
DEFINE("CYRILLIC_FROM_WINDOWS",true);

ну а примеры применения можно увидеть тут
http://www.cnfaic.org/library/jpgraph-2.4p/docs/pdf417/index.html
внизу страницы.

Всего и делов, и не надо платить сотни баксов из-за одной картиночки.
Конечно, если ваш огромный сервис насквозь коммерческий и без кодов не может, тогда лучше купить.
Лицензия ПРО стоит около восьмисот долларов. Зато она корректно работает с Юникодом и Кириллицей.
Не требует специальных хитровыебнутых шрифтов и функций для конвертации.
Но это реально монстр в десятки мегабайт. И может нарисовать практически всё.
Возможно, я преобразую, когда-нибудь, те бейсиковские три сотни строк в пхп. Они делают только то, что нужно и не содержат ничего лишнего.


* pdf417 - открытый стандарт кодирования, конвертирующий текст до килобайта в один плоский двухцветный символ, машиночитаемый образ. Широко используется в различных отраслях промышленности, для электронного обмена данными, маркировки грузов, продукции, документов.