Хочу принимать бабки на р/с в банке от ип/ооо, не принципиально. Принимать по интернету, конечно. Допустим у меня есть(еще нет) онлайн терминал/касса, там есть считыватель NFC. Я как понимаю этот терминал считывает номер,дату,ccv карты и передает эти данные в банк? Там происходит транзакция, с карты списываются бабки и поступают мне.
Вопрос, как мне удаленно по сети дать комманду терминалу чтобы он передал данные карты в банк и сформировалась транзакция, без нажатия кнопок вручную? Возможно ли такое вообще? Почему везде предланают посредников типа yookassa, robokassa?
Заметил, что часто в Chrome возникает ошибка при загрузке js скрипта(ов) net::ERR_CONNECTION_RESET. Сервер отдает с кодом 200 все нормально, далее браузер начинает качать файл (около 6MB) и в некоторый момент выдает вот эту ошибку. Кто сбрасывает соединение не понять
написал простой скрипт
for(var i=0; i < 10; i++){
fetch("https://example.com/js/app.js?v=" + i);
}
На интерфейсе пропадает ровно через каждые 24 часа ipv4 адрес. После перезагрузки службы networing сеть снова работает. Все логи пересмотрел, ничего нет. Сервер debian, имел uptime 2 года, ничего не трогалось и тут такое.
systemctl status networking
● networking.service - Raise network interfaces
Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2024-01-20 06:34:43 MSK; 1min 34s ago
Docs: man:interfaces(5)
Process: 1948759 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)
Main PID: 1948759 (code=exited, status=1/FAILURE)
CPU: 52ms
Jan 20 06:34:43 ifup[1948759]: /sbin/ip -6 addr add 2001:41d0:602:4add::/56 dev eno1
Jan 20 06:34:43 ifup[1949035]: RTNETLINK answers: Permission denied
Jan 20 06:34:43 ifup[1948759]: ifup: failed to bring up eno1
Jan 20 06:34:43 ifup[1948759]: /bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
Jan 20 06:34:43 ifup[1949038]: run-parts: executing /etc/network/if-up.d/000resolvconf
Jan 20 06:34:43 ifup[1949038]: run-parts: executing /etc/network/if-up.d/chrony
Jan 20 06:34:43 ifup[1949038]: run-parts: executing /etc/network/if-up.d/ethtool
Jan 20 06:34:43 systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Jan 20 06:34:43 systemd[1]: networking.service: Failed with result 'exit-code'.
Jan 20 06:34:43 systemd[1]: Failed to start Raise network interfaces.
Хочу упростить модерирование путем автоматизации: автоматическое распознавание половых органов, голых частей тела и т.д. Первое что приходит какие то облака с AI, но не знаю есть ли такой сервис?
Есть ли такое в одном корпусе? Нужна плата или микроконтроллер, который бы имел выход в интернет через ethernet и wifi (желательно бы ещё и через gprs). Сейчас нашел только разные модули w5500(ethernet) и esp8266 (wifi). Если такого не производят, то на ум приходит только разместить эти два модуля на одной печатной плате и связать их через другой микроконтроллер посредством UART\SPI\ХЗ. Я в этом дилетант, посоветуйте по какому пути идти.
Нужно спроектировать макетную плату со следующими функциями
WiFi, Ethernet, Gprs etc (нужен tcp/ip стек для настройки устройства).
Порты ввода (будут подключаться датчики)
Порты вывода (будет подключаться нагрузка, например реле)
Подобрать популярные комплектующие, которые есть на aliexpress
По сути arduino, только нужно сделать компактней и на одной монтажной плате
Грубо говоря, в идеале, хочу плату размером в спичечный коробок, которая бы питалась от ааа батарейки и работало месяц и стоило 1000 руб. Понятно, что нереал, но отталкиваться от этого нужно.
Нужна больше консультация на первом этапе. Потом посмотрим что и как
Пока что готов заплатить 1000 руб. за небольшой ликбез в телеге, кто даст вводную. Дальше, если сойдемся, больше, по нарастающей
Здравствуйте!
Занимался тут летом всякими датчиками на arduino, сейчас решил возобновить тему. Решил отказаться от компа-шлюза и сделать полноценное устройство с выходом в интернет.
Прототип задачи в том, чтобы собрать устройство, подключить к нему датчик и чтобы управлялось оно через интернет. То есть, соединялось с удаленным сервером и принимала от него команды. Интернет хочу в идеале Wifi+Ethernet
Нашел
WiFi
Ethernet
УЗ Датчик
Я как понимаю мне ещё нужна «базовая» плата, к которой бы все это подключалось?
Нашел также Плату с WIFI на борту. Не совсем понимаю, это Arduino UNO? Что это за комплект по такой цене..?
В общем, я запутался, дайте пинка в нужном направлении.
Установил новый сервер, на нем raid1. Хочу raid0, чтобы больше места было.
Что было
cat /proc/mdstat
md127 : active raid1 sdb1[0] sdc1[1]
3141632 blocks super 1.2 [2/2] [UU]
mdadm /dev/md127 --grow --level=0
mdadm: level of /dev/md127 changed to raid0
cat /proc/mdstat
md127 : active raid0 sdc1[1]
3141632 blocks super 1.2 64k chunks
mdadm /dev/md127 --add /dev/md127 /dev/sdb1
mdadm: /dev/md127 not large enough to join array
fdisk -l
Disk /dev/sdb: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf4f86955
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 6291455 6289408 3G 83 Linux
Disk /dev/sdc: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x4e1043f4
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 6291455 6289408 3G 83 Linux
Disk /dev/sda: 10.6 GiB, 11380449280 bytes, 22227440 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6cc04202
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 20226047 20224000 9.6G 83 Linux
/dev/sda2 20228094 22226943 1998850 976M 5 Extended
/dev/sda5 20228096 22226943 1998848 976M 82 Linux swap / Solaris
Disk /dev/md127: 3 GiB, 3217031168 bytes, 6283264 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes
//Переход на raid0, но будет 1 диск всего
mdadm /dev/md0 --grow --level=0
mdadm: level of /dev/md0 changed to raid0
//Увеличить размер массива и добавить 1 диск
mdadm /dev/md0 --grow --raid-devices=2 --add /dev/sdb1
mdadm: level of /dev/md0 changed to raid4
//тут будет делаться reshape, долго, в зависимости от объема
//потом перейдет снова на raid0
mdadm: level of /dev/md0 changed to raid0
//Далее нужно увеличить размер ФС, если без параметров, то увеличивается автоматом до всего доступного размера
resize2fs /dev/md0
Копаюсь тута в virtualbox, шаманю с жестким диском, колдую в общем. Сама проблема в том, что на реальном сервере в некоторые моменты времени очень большая задержка отправки\приема с rabbitMQ сервера. Тама отваливаются некоторые службы из-за этого по таймауту (можно конечно выставить большие тайауты, но хочу все же оттюнинговать диск и проблему решить в корне, если получится). То есть послал сообщение в rabbitMQ, тебе ответ пришел, обычно это занимает миллисекунды, но в некоторые моменты доходит аж до 3-6 сек! Графики(zabbix) показывают iowait 5%\48% (средн.\макс. значения за месяц). В связи с этим я пришел к выводу, что причина и узкое место на сервере это I\O и из-за него такие лаги с rabbitMQ.
Потом я начал грешить на raid1. Ядренный процесс jbd (в моем случае это jbd2/md2-8) который отвечает за журнализацию ext4, постоянно, без остановки, чем то занят, iotop этого процесса постоянно скачет 5..10...99%! Хотя, по сути, должен отрабатывать каждые 15 сек., ибо в параметрах монтирования raid1 я указал commit=15. То есть каждые 15 сек. должен записывать в журнал. Ещё я заметил, что если отключить zabbix-server, то процесс этот запускается как положено через каждые 15 сек. Почему так?
Посмотрел iotop ещё раз, нет других процессов с большим %, ну mysql промелькивает 0.05%, nginx и прочие потроха.
Что пробовал (три раза запуск)
dd if=/dev/zero of=/tmp/output.img bs=16k count=30k
838860800 bytes (839 MB, 800 MiB) copied, 1.05715 s, 794 MB/s
838860800 bytes (839 MB, 800 MiB) copied, 0.442051 s, 1.9 GB/s
838860800 bytes (839 MB, 800 MiB) copied, 9.11132 s, 92.1 MB/s
dd if=/dev/zero of=/tmp/output.img bs=16k count=70k
1174405120 bytes (1.2 GB, 1.1 GiB) copied, 6.25328 s, 188 MB/s
cat /etc/fstab
/dev/md3 / ext4 commit=15,errors=remount-ro,relatime 0 1
/dev/md2 /boot ext4 errors=remount-ro,relatime 0 1
/dev/sda4 swap swap defaults 0 0
/dev/sdb4 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts defaults 0 0
mount | grep "/dev/md3"
/dev/md3 on / type ext4 (rw,relatime,errors=remount-ro,commit=15,data=ordered)
cat /proc/mdstat
md2 : active raid1 sdb2[1] sda2[0]
523200 blocks [2/2] [UU]
md3 : active raid1 sdb3[1] sda3[0]
1952461760 blocks [2/2] [UU]
bitmap: 15/15 pages [60KB], 65536KB chunk
unused devices: <none>
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 1.8T 1.4T 312G 83% /
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 772M 7.1G 10% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/md2 487M 23M 435M 5% /boot
overlay 1.8T 1.4T 312G 83% /var/lib/docker/overlay2/29d42b8f520821ac9c12919a53c6eb7f4b1cf25c63cd03fe7f2a3341e547a42f/merged
shm 64M 0 64M 0% /var/lib/docker/containers/c1d856a4dce5aeb0d0e67e4bdb1e2123a1a2fbecfbb4c4fdfe91b1d75bf0b8a8/mounts/shm
Total DISK READ : 68.09 K/s | Total DISK WRITE : 9.27 M/s
Actual DISK READ: 68.09 K/s | Actual DISK WRITE: 594.86 K/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
313 be/3 root 0.00 B/s 426.44 K/s 0.00 % 73.82 % [jbd2/md3-8]
13682 be/4 bib 0.00 B/s 215.01 K/s 0.00 % 43.27 % nginx: worker process
15381 be/4 mysql 0.00 B/s 3.58 K/s 0.00 % 0.61 % mysqld
15396 be/4 mysql 0.00 B/s 3.58 K/s 0.00 % 0.02 % mysqld
15401 be/4 mysql 0.00 B/s 7.17 K/s 0.00 % 0.02 % mysqld
13678 be/4 bib 0.00 B/s 630.70 K/s 0.00 % 0.00 % nginx: worker process
13679 be/4 bib 0.00 B/s 3.58 K/s 0.00 % 0.00 % nginx: worker process
13680 be/4 bib 0.00 B/s 207.84 K/s 0.00 % 0.00 % nginx: worker process
13681 be/4 bib 64.50 K/s 731.03 K/s 0.00 % 0.00 % nginx: worker process
13684 be/4 bib 0.00 B/s 111.09 K/s 0.00 % 0.00 % nginx: worker process
13685 be/4 bib 0.00 B/s 723.87 K/s 0.00 % 0.00 % nginx: worker process
11076 be/4 root 0.00 B/s 3.58 K/s 0.00 % 0.00 % python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
Хочу уменьшит время commit в ext4. Прописал в fstab commit=15, но в итоге процесс «jbd2/md3-8» постоянно что-то пишет, iotop показывает (10..90%). iowait у процессора все все время > 3. Почему так?
cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/md3 / ext4 commit=15,errors=remount-ro,relatime 0 1
/dev/md2 /boot ext4 errors=remount-ro,relatime 0 1
/dev/sda4 swap swap defaults 0 0
/dev/sdb4 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts defaults 0 0
vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 1046520 5579576 115856 1263852 0 0 4 649 0 0 12 7 78 3 0
iostat
Linux 4.9.87-xxxx-std-ipv6-64 (3.livacha.com) 11/28/2022 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.17 0.00 6.74 3.10 0.00 77.99
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 47.06 769.66 5122.38 99346518945 661184744638
sdb 48.08 744.96 5122.43 96157784098 661192082738
md3 209.01 31.80 5104.15 4105132710 658832017368
md2 0.00 0.01 0.00 861337 22
В настройках nginx стоит
fastcgi_read_timeout 3s;
fpm соединение принудительно закрывается, но mysql запросы, которые были отправлены ранее, продолжают выполняться, потому что соединение не было закрыто в конце скрипта как положено. Я как понимаю в коде никак нельзя определить что тебя грохнул nginx? Хотелось бы закрывать соединение, прежде чем... Или в самом mysql что подкрутить? Пока что на ум приходят всякие wait_timeout...max_execution_time(которое не работает в сессии и глобально)
Хочу потестировать сайт на дос-атаку. Нужно как то симулировать много запросов с разных IP(для проверки всяких limit модулей ngix, iptables и самого сайта). Пока что делаю черех ab(apache bench).
Сейчас на ум приходит только добавить на интерфейс много (ну, хотелось бы хотя бы 5000) IP, но как потом заставить ab брать случайные IP...
Да, делаю это с той же машины с которой тестирую... Хотя идеально с удаленной, но тогда нужны реальные IP
Стартую процесс exec, proc_open или через Symfony\Process, но пых запускает его всегда через оболочку (в моем случае это sh -с ffmpeg). Собственно проблема в том, что когда сам пых процесс завершается или убивается через kill, то дочерний процесс (если он работает), не убивается. Да, можно определять дочерний ПИД и гасить его, но хотелось бы без лишнего гемора. Помню на 7.0 версии, оболочка эта не создавалась, запускался напрмяую, но обновил до 7.4 и снова стало такое. хочу понять зачем пых запускает оболочку. Гугление ничего не дало, тема давняя
По теме
https://github.com/symfony/symfony/issues/5030
Если перез командой написать exec(«exec ffmreg») то оболочка не создается и все нормально завершается. Как бы такое сделать по умолчанию
Внезапно пропал доступ к серверу по сети. Зашел через KVM, смотрю ifconfig, а адреса то нет IPv4. Просто пропал, исчез сам по себе. Остался только IPv6. Ничего не пойму куда копать. Ну первое что на ум приходит это dhcp. Но такого никогда не было на других серверах у этого провайдера(OVH). Что может быть ещё?
Debian 11
Помогло только
/etc/init.d/network restart
Но боюсь ещё раз слетит
/etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eno1
iface eno1 inet dhcp
accept_ra 0
Хочу измерять температуру в бане, пока что просто воздуха, а в дальнейшем хотелось бы в самой топке, чтобы можно было бы узнать когда подкидывать дрова, ну типа топка остыла, подан звуковой сигнал, пошел подкинул
Сейчас хочу просто получить температуру воздуха, с помощью термистора (NTC MF52 10K). Подключаю в аналоговый порт arduino (verba), делаю как написано тут. Подключаю по схеме делителя напряжения
Фото схема (желтый +5, корич. - GRN, зеленый - анал. вход)
https://ibb.co/1ZCS6kK
// к какому аналоговому пину мы подключены
#define THERMISTORPIN A0
// сопротивление при 25 градусах по Цельсию
#define THERMISTORNOMINAL 10000
// temp. для номинального сопротивления (практически всегда равна 25 C)
#define TEMPERATURENOMINAL 25
// сколько показаний используем для определения среднего значения
#define NUMSAMPLES 5
// бета коэффициент термистора (обычно 3000-4000)
#define BCOEFFICIENT 3950
// сопротивление второго резистора
#define SERIESRESISTOR 10000
int samples[NUMSAMPLES];
void setup(void) {
Serial.begin(9600);
analogReference(EXTERNAL);
}
void loop(void) {
uint8_t i;
float average;
// сводим показания в вектор с небольшой задержкой между снятием показаний
for (i=0; i< NUMSAMPLES; i++) {
samples[i] = analogRead(THERMISTORPIN);
delay(10);
}
// рассчитываем среднее значение
average = 0;
for (i=0; i< NUMSAMPLES; i++) {
average += samples[i];
}
average /= NUMSAMPLES;
Serial.print("Average analog reading ");
Serial.println(average);
// конвертируем значение в сопротивление
average = 1023 / average - 1;
average = SERIESRESISTOR / average;
Serial.print("Thermistor resistance ");
Serial.println(average);
float steinhart;
steinhart = average / THERMISTORNOMINAL; // (R/Ro)
steinhart = log(steinhart); // ln(R/Ro)
steinhart /= BCOEFFICIENT; // 1/B * ln(R/Ro)
steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
steinhart = 1.0 / steinhart; // инвертируем
steinhart -= 273.15; // конвертируем в градусы по Цельсию
Serial.print("Temperature ");
Serial.print(steinhart);
Serial.println(" *C");
delay(1000);
}
average = 1023 / average - 1;
average = 1023.0f / (average - 1.0);
Хочу сделать, чтобы автоматически включался обогреватель, теплый пол и может быть ещё кое-что. Управление удаленное, через интернет. По расписанию, например в 5 утра каждый день, либо вручную через команду. Ну купил arduino платку (verba) за 800 руб.На выход подключил реле 5 вольтовое 10 ампер. На плате нет сети и даже часов, поэтому накидал программку на c++, в которой вся логика (http сервер для удаленных команд, включение по расписанию и т.д.). Общатся программа с arduino через serial порт.
В общем то все работает, но чувствую, что есть лишнее звено. По сути, ардуино нужно только для включения реле, логики там никакой нет. Хочу выкинуть плату и сделать все через комп.
Как я могу в компе активировать какую-либо ножку на плате, чтобы на ней появилось напряжение 5 вольт? LPT порт? Там есть DATA ножки, их можно использовать для подключения нагрузки (реле)? Или ещё как?
У меня есть nodejs-скрипт, запущенный около месяца и он в один момент начал «течь» (rss ~ 6GB). Хочу понять что там за данные накопились в нем. Возможно какой то массив\объект растет или ещё что-то.
Вытащил (gdb --pid 343 ... dump memory...) для начала через GDB сырые данные запущеного процесса в папку.
Что теперь с ними делать не понимаю. Погрепал эти файлы, ничего от этого не получил.
Каким образом код в скрипте трансформируется в память, в байты\биты?
Например есть в коде
class Abc{
constructor() {
this.prop = "abc"
}
}
У меня на сервере 32 гига памяти. Хочу подсчитать какие процессы занимают память
Делаю сначала
ps -o pid,user,rss,comm ax | sort -k3 -n | awk '{sum+=$3; } END{print "Total mem usage: " sum;}'
34218336
Пришло письмо от maxmind
Dear GeoLite User,
In order to maintain compliance with US sanctions against certain Russian entities, MaxMind is exercising its right to terminate your free access to the GeoLite2 Databases or Web Services per Section 10.(b) of the GeoLite2 End User License Agreement.
Пишут, что бесплатное обновление для «определенных российских организаций» прекращено
Вопроса 2
1) Как они определили что я являюсь российской организацией? Я использую базу для своего сайтика
2) Как теперь обновлять базу? Как вы обновляете? Платить 25 бачей в месяц, а главное КАК их платить? VISA\Master не работает.
следующие → |