Ищу человека, который может помочь / СПК

ek5-ex
Offline
Зарегистрирован: 10.06.2021
Всем привет. Нужна помощь)
 
Есть:
Станок перемотки кабеля с двумя кнопками: пуск, стоп
Arduino Uno R3
W5100 Ethernet Shield + SD
Мембранная клавиатура 4*4
Счётчик отмотки + LCD дисплей, который отображает число в 2 полях
 
В данный момент сделано:
Вводится с клавиатуры число, которое отображается на LCD дисплее в поле 1
Кабель продевается через счётчик, в это время на LCD дисплее в поле 2 изменяется число(метраж), далее кабель крепится
На станке нажиамется кнопка пуск
Когда до конца отмотки остается 20 метров, скорость замедляется
Когда число совпадает на LCD дисплее в поле 1 и в поле 2 отмотка останавливается
На станке нажимается кнопка стоп
На клавитуре нажимается кнопка сброс для очистки полей 1 и 2
 
Нужно сделать: 
При нажатии на клавиатуре буквы "D" значение из поля 2 отправляется на сервер в БД SQL
sadman41
Offline
Зарегистрирован: 19.10.2016

Баксов в 500 уложитесь.

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

не

man9913
Offline
Зарегистрирован: 19.03.2016

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

там делов то рублей на 500, так ведь, бармалюк?

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

Нет, манька, не так

man9913
Offline
Зарегистрирован: 19.03.2016

а как?

и как ты догадался что я манька? я ведь никому здесь не рассказывала, ты экстрасекс чтоль?

ek5-ex
Offline
Зарегистрирован: 10.06.2021

Есть какие-то предложения?

sadman41
Offline
Зарегистрирован: 19.10.2016

Какие могут быть предложения при куче неизвестных?

Какой SQL - неизвестно, вид записи - неизвестен,сколько ресурсов у МК свободных - неизвестно, кто отвечает за работу системы в целом - непонятно.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

поинтересуюсь выбором железа, может практичней был бы esp32?

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

sadman41 пишет:
Какие могут быть предложения при куче неизвестных? Какой SQL - неизвестно, вид записи - неизвестен,сколько ресурсов у МК свободных - неизвестно, кто отвечает за работу системы в целом - непонятно.

Да там всего то нужно сделать: При нажатии на клавиатуре буквы "D" значение из поля 2 отправляется на сервер в БД SQL

Остальное у него уже работает.
sadman41
Offline
Зарегистрирован: 19.10.2016

Сделай, не умничай.

ek5-ex
Offline
Зарегистрирован: 10.06.2021

Нужен код, с помощью которого будет сохраняться значение с дисплея в файл на ПК, при нажатии клавиши на мембранной клавиатуре, которая подключена к ардуино, дальше к БД я сам пропишу путь...

Кто может написать этот код и за сколько ?

sadman41
Offline
Зарегистрирован: 19.10.2016

Ещё раз.

Даже примерную стоимость выполнения данной работы невозможно рассчитать без знания ключевых моментов, таких как:
- Названия SQL- сервера;
- Типа подключения к нему;
- Полного состава записи;
- Количества свободных ресурсов МК для реализации запрашиваемого функционала;
- Зоны ответственности исполнителя.

При невозможности оценки название валюты не имеет абсолютно никакого значения. Никто ничего ни из кого тащить клещами не будет, пока нет контакта между заказчиком и исполнителем. А его пока не наблюдается.

Оценочное суждение лично я высказал в #1.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:
Какие могут быть предложения при куче неизвестных? Какой SQL - неизвестно, вид записи - неизвестен,сколько ресурсов у МК свободных - неизвестно, кто отвечает за работу системы в целом - непонятно.

ek5-ex
Offline
Зарегистрирован: 10.06.2021

Я же написал что нужен код для сохранения значения не в БД, а просто на ПК, в блокнот/эксель - не важно...

На счёт ресурсов МК отвечу в Понедельник.

sadman41
Offline
Зарегистрирован: 19.10.2016

Еще хлеще - фокус решения переносится с МК на ПК. Похоже, что $500 - это верная оценка для такой тягомотины.

b707
Онлайн
Зарегистрирован: 26.05.2017

ek5-ex пишет:

Я же написал что нужен код для сохранения значения не в БД, а просто на ПК, в блокнот/эксель - не важно...


Полагаю, исходник кода на ардуине доступен?

ардуину с пк как предполагаете связывать? Какое расстояние между ними? Есть ли в помещении wifi?

Какая ОС на ПК? Можно ли туда устанавливать сторонние программы?

В общем, пока информации маловато. Но вы явно недооцениваете задачу. Кроме добавления " просто кнопки D" в код станка на ардуине, придется писать какуюто программу на пк, которая будет принимать эти значения. Причем от того, будет ли она их писать в файл или загружать Бд, цена уже зависит мало.
Определитесь с бюджетом. В любом случае не рассчитывайте решить задачу за пару тысяч. Думю 15-20 - ближе к реальности

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ek5-ex пишет:

Я же написал что нужен код для сохранения значения не в БД, а просто на ПК, в блокнот/эксель - не важно...

На счёт ресурсов МК отвечу в Понедельник.

Еще раз:

Ардуино не может создать файл на ПК. От слова "совсем". 

Поэтому в таком виде задача решения не имеет.

Возможно лишь организовать взаимодействие между Ардуино и ПК, скажем, по USB, чтобы программа на ПК по команде с Ардуино создавала файл и писала в него полученную от Ардуино информацию.

wdrakula
wdrakula аватар
Онлайн
Зарегистрирован: 15.03.2016

ТС, уточни, что на стороне ПК? Есть 1001 способ решения твоей задачи. Некоторые из них подойдут под уровень от 2000р. ;)) Телега: @wdrakula.

wdrakula
wdrakula аватар
Онлайн
Зарегистрирован: 15.03.2016

b707][quote=ek5-ex пишет:

программу на пк, которая будет принимать эти значения.

Коллеги! ТС же написал, что у него Визнет 5100 стоит. Так что про сторону ПК нужно знать только язык программирования, имя базы SQL сервера, его адрес, пользователя и пароль.

----------------

Смеху ради, если памяти еще в контроллере осталось, то есть даже такое: https://github.com/ChuckBell/MySQL_Connector_Arduino

то есть вообще без ПК. ;))

ЗЫ:Я не проверял это. Самому любопытно. Будет время - погляжу. Визнет где-то валялся...

sadman41
Offline
Зарегистрирован: 19.10.2016

Ну, написал. Легко может написать, что коннект к PGSQL с SSL/TLS. Чего на кофейной гуще гадать - деньги он ещё даже не показал, а вот отсутствие заинтересованности видно.

b707
Онлайн
Зарегистрирован: 26.05.2017

Ну что, нормальный тендер - один предлагает $500, другой 20тыр, третий 2000, причем ТЗ еще никто не видел:)

ТС, выбирай

sadman41
Offline
Зарегистрирован: 19.10.2016

Я не предлагаю, а предполагаю на основании ранее полученного опыта работы с подобными заказами, что потери времени на выяснение подробностей, согласование-пересогласование, написание и тестирование в том темпе, который задаёт ТС, скорее всего будут компенсированны суммой $500. (при возможности выполнения на целевой платформе).

Но это не следует рассматривать как оферту.

b707
Онлайн
Зарегистрирован: 26.05.2017

Согласен, ТС тупит не по детски, за работу с подобными заказчиками доплата требуется

ek5-ex
Offline
Зарегистрирован: 10.06.2021

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

Я написал данные которые знаю, если требуется какая-то дополнительная информация, я её уточню.

Я со своей стороны вижу, что какой-то опытный sadman41 с ходу выёживается... 

wdrakula напишу тебе в понедельник, когда буду на работе.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Уверен, что в понедельник будешь на работе?

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

andriano пишет:

Уверен, что в понедельник будешь на работе?

Вот и ТЗ будет такое же :)))

ek5-ex
Offline
Зарегистрирован: 10.06.2021

andriano пишет:

Уверен, что в понедельник будешь на работе?

Почему я должен быть уверен в этом?

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Дак ты мозг наморщи и подумай, если ты из РФ, почему ты в понедельник можешь быть НЕ на работе

ek5-ex
Offline
Зарегистрирован: 10.06.2021

Так если я написал что в понедельник я напишу, когда буду на работе, это подразумевает что я буду на работе! Нет?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

Дак ты мозг наморщи и подумай, если ты из РФ, почему ты в понедельник можешь быть НЕ на работе

понедельник выходной однако )))

wdrakula
wdrakula аватар
Онлайн
Зарегистрирован: 15.03.2016

ua6em пишет:

DetSimen пишет:

Дак ты мозг наморщи и подумай, если ты из РФ, почему ты в понедельник можешь быть НЕ на работе

понедельник выходной однако )))

Дык еще и новый локдаун до 20-ого. Это в Москве, не знаю как где.

wdrakula
wdrakula аватар
Онлайн
Зарегистрирован: 15.03.2016

Короче так. Вот код для клиента на Визнете 5100, который что-то пишет в голый TCP сокет. В качестве примера просто значение переменно "i". И пример сервера на Питоне, который слушает сокет и печатает полученное.

Этот пример за 2 минуты переделывается во всё, что может быть нужно, для Питона есть модули для любого SQL сервера.

В ардуинку код для сокета вставляется на ура. Если памяти хватит. Библиотеки Езернет все очень тяжеловесные. Я проверял на Меге, просто у меня Визнет в виде дурацкого "шилда", и удобнее его одеть на Мегу, к Нано пришлось бы проводами соединять.

Код для Питона проверенно работает и на Линуксе и на Вин10.

Если это пригодится - 2000р скинешь на карту привязанную к телефону, номер телефона спросишь у меня в телеге.

Нет - на нет и суда нет.

Если не знаешь как это использовать, или нет того, кто знает - напиши - будет немного "сверху" стоить. ;)))

==================================

Ардуино. Реконектится к серверу в бесконечном цикле.

#include <Ethernet.h>
#include <SPI.h>


byte ok = false;

//Догадаешься, что тут писать? ;))))))
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 13, 225 };
byte server[] = { 192, 168, 13, 10 };

EthernetClient client;

void setup()
{
  Ethernet.begin(mac, ip);
  Serial.begin(115200);
}

void loop()
{
  static int i = 0;

  if (ok and not client.connected()) {
    Serial.println("disconnecting...");
    client.stop();
    ok = false;
    delay(3000);
  }

  if (! ok) {
    Serial.println("connecting...");
    if (client.connect(server, 25080)) {
      ok = true;
      Serial.println("connected");
      client.println("Hi from wiznet 5100!");
    } else {
      Serial.println("connection failed");
      delay(3000);
    }
  }
  if (ok and client.connected()) {
    client.print(String("Now I is: ") + i++);
    delay(1000);
  }
}

Питон, тут вроде и комментировать нечего. В переменной "data" появляется то, что отослано Ардуинкой. Можно делать с этим, что угодно.

import socket
import signal
import sys

s = socket.socket()

s.settimeout(5)
s.bind(('', 25080))
s.listen(1)

try:
  conn, addr = s.accept()
  #print (repr(addr))
  
  while 1:
    data = conn.recv(256)
    print (data.decode('utf-8)'))

except KeyboardInterrupt:
  conn.close()
  sys.exit(1)

 

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

Всем хороших выходных.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

ek5-ex пишет:
сохраняться значение с дисплея в файл на ПК, при нажатии клавиши на мембранной клавиатуре, которая подключена к ардуино

надо прям обязательно чтобы по нажатию на мембране? то есть нажимают на ардуине, не на компе. нужен чёткий ответ, да нет

как далеко комп от ардуины (станка), два метра, десять метров, двести метров? нужен чёткий ответ цифра

что надо делать с файлом, дописать к старому чтобы было много строк типа 69, 228, 420, 1488, 73501505, или просто тупо всё стереть и записать новую цифру?

комп держит файл открытым? да нет. или на нём что-то могут делать параллельно (нужно писать фоном или как)

как выяснится, можно будет думать остальное.