ENC28J60 на NetDuino2plus

Martinayotte
Ср. 01 июля 2015 г. 12:12
Привет !

Если вы видели другую ветку, я застрял с повествованием на Readop (ENC28J60_Read_ctrl_reg, ESTAT) во время ENC28J60 инициализировать ().
Проведя часы, я сужал проблему. Во -первых, я не был уверен в SPI init (), так как ENC28J60 - это подключение с несколькими разницами в PINS в отношении нормального SPI (1), но он все еще не работал. Еще раз открытие схемы NetDuino2plus, у меня есть свет, который приходит ко мне: генератор 25 МГц разделяется между STM32F405 и ENC28J60, но не прямое соединение, STM32 обеспечивает производные часы через GPIO PA8 AS A и MCO1 Alternate, STM32. Итак, я изо всех сил пытался добавить этот код инициации в RRCF2.в. Бинго ! У ENC28J60 теперь есть свои часы !!! :)
Таким образом, инициализация () больше не висит на Readop (ec28j60_read_ctrl_reg, estat) !!! И теперь я смог пинг на доске netduino2plus ! ;)

@Roger, я почищу свой код и скоро отправлю вам пиар.

Martinayotte
Ср. 01 июля 2015 г., 21:10
Еще немного успеха !
Поскольку библиотека serasidis_ethercard_stm еще не предоставила Tcpserver, я решил продолжить свою работу, уже начатую в библиотеке "arduino_uip", перенеса изменения, сделанные в serasidis_ethercard_stm/src/enc28j60.Файл CPP в arduino_uip/utility/enc28j60network.Файл CPP, который имел AVR Direct Register, доступ к AVR SPI. Через несколько часов я сделал слияние, и теперь у меня есть пример TCPServer, работающий над моим NetDuino2plus !
Чарра !!! : D

Вассилис
Чт, 02 июля 2015 г., 6:19
Молодец Мартинайотт!

А Arduino_uip (Uipethernet) Библиотека является 100% совместимой со стандартным Arduino Ethernet библиотека. Итак, все это эскизы, написанные для Arduino Ethernet, будут работать над вашей портированной библиотекой.

Martinayotte
Чт, 2 июля 2015 г., 13:42
Спасибо !

Сначала я начал объединять вашу библиотеку Ethernet_stm в вашу библиотеку serasidis_ethercard_stm, но я быстро понял, что это была утомительная задача.

Итак, я сделаю некоторые уборки на кодах arduino_uip, втоплю в мою ветвь и скоро отправлю пиарщик Роджеру.

Martinayotte
Ср. 15 июля 2015 г. 2:20 утра
Поскольку все компоненты оснований, кажется, прекрасно работают на netduino2plus,
Я решил опубликовать на форуме NetDuino (я не вхожу там с 2 лет, мне пришлось сбросить пароль :) ) пригласить людей на наш форум STM32Duino.
Я просто надеюсь, что не будет наводнения вопросов ... :)

Валерия
Пн 18 апреля 2016 г., 16:38
Привет! Вассилис написал:Молодец Мартинайотт!

А Arduino_uip (Uipethernet) Библиотека является 100% совместимой со стандартным Arduino Ethernet библиотека. Итак, все это эскизы, написанные для Arduino Ethernet, будут работать над вашей портированной библиотекой.

Martinayotte
Пн 18 апреля 2016 г. 16:49
Из того, что я помню с прошлого лета, после того, как я достиг этого на F405, я попробовал это с Maplemini, и он работал.
Но эти эксперименты были проведены с примерами Uipethernet, ботом с Serasidis_ethercard_stm, хотя могут быть некоторые сходства.

Валерия
Пн 18 апреля 2016 г., 8:55 вечера
Я постараюсь,
Спасибо.

Квинтэссенция
Ср 11 мая 2016 г., 10:46
Привет, STM32DUINO Community,

Я новичок здесь, и я начал с синей таблетки, которая была действительно полон ошибки в начале (заблокированный чип, слишком длинное название платы FTDI на OSX, по крайней мере, я запрограммировал его через плату CH340...).
Я установил портированную библиотеку UIP на свой Arduino 1.6.7 IDE, и он был скомпилирован и загружен в чип с успехом, другие тестовые эскизы работали довольно хорошо (мигание и серийные наброски).

Я хотел проверить эскиз AdvancedChatserver, который не работал. Я часто проверял проводку (интерфейс SPI номер один pina4-7), проверял ее на другом интерфейсе SPI и т. Д., Но он не работал...

У меня есть только одна подсказка, которая, возможно, помогает здесь: после загрузки плата сообщает вам через сериал о том, какой IP -адрес он доступен. В моем эскизе это: 192.168.0.6
Поэтому я посмотрел на серийный выход платы после загрузки, и он сказал: Адрес сервера чата: 100706496
Так что что -то не так.

У кого -нибудь есть представление о том, что это может быть?

@Martinayotte: Вы сказали, что это работало на вашем Maplemini в прошлом году, в чем может быть разница здесь?

Большое спасибо за ваши комментарии, и я извиняюсь за эти вопросы новичка! Я думаю, что UIP LIB действительно важен для STM32DUINO, потому что для запуска больших эскизов требуется столько оперативной памяти Arduino Uno, чем в примере, поэтому я думаю, что это действительно стоит, чтобы он работал над Bluepill ;)

Martinayotte
Ср 11 мая 2016 г., 12:51
Quintessence написал:В моем эскизе это: 192.168.0.6
Поэтому я посмотрел на серийный выход платы после загрузки, и он сказал: Адрес сервера чата: 100706496
Так что что -то не так.

Квинтэссенция
Ср 11 мая 2016 г. 13:10
Большое спасибо за вашу помощь и быстрый ответ ! :)


Серийная печатная печатана хорошо работает на доске Arduino, это стандартный пример наброска из библиотеки Uipethernet:
#include // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network. byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192,168,0,6); // telnet defaults to port 23 EthernetServer server(23); EthernetClient clients[4]; void setup() { // initialize the ethernet device Ethernet.begin(mac, ip); // start listening for clients server.begin(); // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Serial.print("Chat server address:"); Serial.println(Ethernet.localIP()); } void loop() { // wait for a new client: EthernetClient client = server.available(); if (client) { boolean newClient = true; for (byte i=0;i<4;i++) { //check whether this client refers to the same socket as one of the existing instances: if (clients[i]==client) { newClient = false; break; } } if (newClient) { //check which of the existing clients can be overridden: for (byte i=0;i<4;i++) { if (!clients[i] && clients[i]!=client) { clients[i] = client; // clead out the input buffer: client.flush(); // clead out the input buffer: client.flush(); Serial.println("We have a new client"); client.println("Hello, client!"); client.print("my IP: "); client.println(Ethernet.localIP()); break; } } } if (client.available() > 0) { // read the bytes incoming from the client: char thisChar = client.read(); // echo the bytes back to all other connected clients: for (byte i=0;i<4;i++) { if (clients[i] && clients[i]!=client) { clients[i].write(thisChar); } } // echo the bytes to the server as well: Serial.write(thisChar); } } for (byte i=0;i<4;i++) { if (!(clients[i].connected())) { // client.stop() invalidates the internal socket-descriptor, so next use of == will allways return false; clients[i].stop(); } } }

Martinayotte
Ср 11 мая 2016 г. 14:46
Для сериала.Println (Ethernet.Localip ());, я удивлен, что он отлично работает на досках Arduino, потому что Ethernet.localip () возвращает iPaddress, а не строку. На самом деле, в STM32 я добавил метод для печати: Итак, сериал.Println (Ethernet.localip ().toString ()); должен печатать правильно.

Если я помню, да, я просто скопировал STM32F4/Libraries/arduino_uip в STM32F1/Libraries/arduino_uip (или, вероятно, создал символическую ссылку).

Мне нужно было бы настроить мой Maplemini и снова попробовать приведенный выше эскиз, чтобы увидеть, как он реагирует на моей стороне, но, к сожалению, мне сейчас не хватает «ингредиента времени», так что это может занять некоторое время...

Квинтэссенция
Чт 12 мая 2016 г., 19:12
Martinayotte написал:Для сериала.Println (Ethernet.Localip ());, я удивлен, что он отлично работает на досках Arduino, потому что Ethernet.localip () возвращает iPaddress, а не строку. На самом деле, в STM32 я добавил метод для печати: Итак, сериал.Println (Ethernet.localip ().toString ()); должен печатать правильно.

Martinayotte
Чт 12 мая 2016 г., 22:53
Привет, квинтэссенция,

Для iPaddress.ToString (), он был совершен более 2 месяцев назад, так что, возможно, ваша установка не обновлена.

https: // github.com/rogerclarkmelbourne/ ... CBA714AA01

Конечно, я хочу попробовать еще раз, но я не могу совершить, когда («Время - отсутствующий ингредиент») ... ;)

Квинтэссенция
Солнце 15 мая 2016 г. 10:59
Наконец это сработало !! :)
Martinayotte написал: Для iPaddress.ToString (), он был совершен более 2 месяцев назад, так что, возможно, ваша установка не обновлена.

Martinayotte
Солнце 15 мая 2016 г. 13:11
Хороший !
Итак, теперь вы можете наслаждаться Интернетом из чертежа ... ;)

Cassyarduino
Вт 8 ноября 2016 г. 13:04
Всем привет!

Я работаю с Leaflab 'Maple Mini' (STM32F103CBT6) и ENC28J60.
Я собрал проект с моей модифицированной библиотекой Uipethernet с Arduino IDE 1.6.9.
Оригинальный Uipethernet, приготовленный Норбертом Тручесессом.
Вы можете скачать из https: // github.com/ntruchsess/arduino_uip
Вы можете скачать мою модифицированную версию Uipethernet из:http: // www.Заласзам.hu/~ cassy/devel/avr/uipethernet.молния
Проводка для «Maple Mini» и ENC28J60:http: // www.Заласзам.hu/~ cassy/devel/ard ... проводка.Пнн

С наилучшими пожеланиями!

Стивестронг
Вторник 8 ноября 2016 г., 15:19
@cassyarduino,
Можете ли вы сказать нам, что вы изменили на uipethernet lib?
Может быть, актуально и для оригинальной либера.

Cassyarduino
Ср. 09 ноября 2016 г. 8:31
Всем привет!

Я изменил код:

- Заменил импорт, чтобы включить, потому что GCC говорит: «Импорт устарел».
- Я объединил модификацию Martinayotte (правильно S_DHCP ~ 40 тыс. Больше памяти с помощью STM32F MCU-S.)
- Добавьте поддержку STM32F и ESP8266 MCU-S.
- Перенос Htons, NTOHS, HTONL, NTOHL Определения в UIP.час.
- Правильные бесконечные петли.

Проверка компиляции: Atmega328p, Arduinodue, Maple Mini, ESP8266.

С наилучшими пожеланиями!

Zoomx
Ср. 09 ноября 2016 г., 9:46
Отличная работа!

Я не знал этой библиотеки, я знаю только библиотеку EtherCard, но читал здесь
http: // www.настройка 4 -all.com/hareware/ar ... -Ethernet/
где сравниваются библиотеки, кажется, что Uipethernet лучше.

Стивестронг
Ср. 09 ноября 2016 г., 9:49
Я использовал этот сайт (также на GitHub) в качестве источника информации перед переходом на W5500 (который намного быстрее и проще в обращении).

Даниэфф
Ср. 09 ноября 2016 г., 10:34
Zoomx написал:Отличная работа!

Я не знал этой библиотеки, я знаю только библиотеку EtherCard, но читал здесь
http: // www.настройка 4 -all.com/hareware/ar ... -Ethernet/
где сравниваются библиотеки, кажется, что Uipethernet лучше.

Cassyarduino
Ср. 09 ноября 2016 г., 11:12
Привет!

Верно:
"За исключением того, что EtherCard активен, а Uipethernet - нет (я не знаю о вилках)."

Но:
- Библиотека Uipethernet использует тот же API, что и официальный Arduino Ethernet (совместим с библиотекой Wiznet W5100 Ethernet.).
В коде должен измениться #include <Ethernet.час> #include <Uipethernet.час>.
- Полная поддержка Uipethernet для постоянных (потоковых) TCP-соединений и UDP (клиент и сервер каждый), ARP, ICMP, DHCP и DNS. Строить вокруг стека UIP Adam Dunkels.
http: // www.гомоутомация.org/2014/10/27 ... r-arduino/

С наилучшими пожеланиями

Стивестронг
Ср. 09 ноября 2016 г. 12:47
Ну, глядя на примеры, EtherCard поддерживает множество функций, включая DHCP, TCP и т. Д.

Cassyarduino
Ср. 09 ноября 2016 г., 13:51
EtherCard Readme.MD Say: «Аппаратное обеспечение: доски, не являющиеся AVR

Uipethernet поддерживает: DHCP, DNS, UDP, TCP, ARP, ICMP.

Мой модифицированный Uipethernet поддержал больше MCU: AVR Arduinos, STM32F MCU-S, ESP8266 MCU.
Я уже проверил (модифицирован Uipethernet) на Arduino Nano и Maple Mini (STM32F103CBT),
Я буду подключать ESP8266 с ENC28J60 и проверяю его. (Сейчас вы можете скомпилировать Uipethernet в ESP8266, но я еще не тестировал на этом оборудовании.)

Даниэфф
Ср. 09 ноября 2016 г., 16:45
Cassyarduino написал:Всем привет!

Я работаю с Leaflab 'Maple Mini' (STM32F103CBT6) и ENC28J60.
Я собрал проект с моей модифицированной библиотекой Uipethernet с Arduino IDE 1.6.9.
Оригинальный Uipethernet, приготовленный Норбертом Тручесессом.
Вы можете скачать из https: // github.com/ntruchsess/arduino_uip
Вы можете скачать мою модифицированную версию Uipethernet из:http: // www.Заласзам.hu/~ cassy/devel/avr/uipethernet.молния
Проводка для «Maple Mini» и ENC28J60:http: // www.Заласзам.hu/~ cassy/devel/ard ... проводка.Пнн

С наилучшими пожеланиями!

Cassyarduino
Ср. 09 ноября 2016 г., 22:35
Даниэфф написал:
Я смог заставить библиотеку работать, но не могли бы вы поместить где -то более постоянное и видимое место, как Github, потому что похоронен в ветке форума довольно скрыто.

Стивестронг
Чт 10 ноября 2016 г., 13:24
Я бы порекомендовал в любом случае разворачивать репо UIP и работать в ваших изменениях.

Cassyarduino
Чт 10 ноября 2016 г. 14:58
Стивестронг написал:Я бы порекомендовал в любом случае разворачивать репо UIP и работать в ваших изменениях.

Cassyarduino
Чт 24 ноября 2016 г., 13:21
Cassyarduino написал:EtherCard Readme.MD Say: «Аппаратное обеспечение: доски, не являющиеся AVR

Uipethernet поддерживает: DHCP, DNS, UDP, TCP, ARP, ICMP.

Мой модифицированный Uipethernet поддержал больше MCU: AVR Arduinos, STM32F MCU-S, ESP8266 MCU.
Я уже проверил (модифицирован Uipethernet) на Arduino Nano и Maple Mini (STM32F103CBT),
Я буду подключать ESP8266 с ENC28J60 и проверяю его. (Сейчас вы можете скомпилировать Uipethernet в ESP8266, но я еще не тестировал на этом оборудовании.)

Даниэфф
Чт 24 ноября 2016 г., 13:30
Cassyarduino написал:Cassyarduino написал:EtherCard Readme.MD Say: «Аппаратное обеспечение: доски, не являющиеся AVR

Uipethernet поддерживает: DHCP, DNS, UDP, TCP, ARP, ICMP.

Мой модифицированный Uipethernet поддержал больше MCU: AVR Arduinos, STM32F MCU-S, ESP8266 MCU.
Я уже проверил (модифицирован Uipethernet) на Arduino Nano и Maple Mini (STM32F103CBT),
Я буду подключать ESP8266 с ENC28J60 и проверяю его. (Сейчас вы можете скомпилировать Uipethernet в ESP8266, но я еще не тестировал на этом оборудовании.)

Cassyarduino
Чт 24 ноября 2016 г. 15:57
Даниэфф написал:
Используйте другой вывод на ESP8266 для CS, а не GPIO15. Как правило, любой штифт можно использовать в качестве выбора кабеля.

Zoomx
Sun 04 декабря 2016 г., 18:45
После установки библиотеки Uipethernet я получаю эту ошибку на Arduino IDE Invalid version found: 1.04

Cassyarduino
Пн, 05 декабря 2016 г., 14:23
ESP8266 Проводка с ENC28J60 завершена.
Я загрузил на:https: // github.com/uipethernet/uipether ... проводка.Пнн

Код еще не протестирован.
Я также исправим эту «ошибку версии».
Скоро я совершаю изменения кода.

Cassyarduino
Чт, 08 декабря 2016 г., 14:51
Всем привет!

Я загрузил модифицированную библиотеку Uipethernet в https: // github.com/uipethernet/uipethernet
Я изменил следующее:
- Установить версию на 1.1.0
(Эта версия также проверяется на ESP8266. Работать правильно. Без сторожевого сброса.)
- Правильно ESP8266 Exception (28).
- Добавить сторожевые сбросы в функции для стабильной работы на ESP8266.
- Добавьте функцию geterevid, чтобы получить ec28j60 Chip erevid (Revision Information).
- Измените LinkStatus на статический для внешнего вызова.
- Добавить функции обход, если не может общаться с устройством Ethernet.
- Добавить обнаружение связи SPI Bus Instabil.
- Изменение отладки/регистрации. Удалить отдельную отладку. Добавить глобальную и масштабируемую функцию отладки.
Вы можете настроить отладку/уровень регистрации в утилите/журнале.час
Вы также можете использовать этот файл заголовка в своей счете.
Добавить «logobject» определить для последовательного ведения журнала/отладки с настройкой по умолчанию в плате.

С наилучшими пожеланиями

Zoomx
Пт 09 декабря 2016 г., 9:18
Я надеюсь, что найду время проверить это!

Спасибо!

Cassyarduino
Чт 15 декабря 2016 г., 15:40
Всем привет!

Я добавил поддержку в Mbed/Smeshstudio IDE.
Скомпилируется в STM32F103RB (Nucleo).
Вы можете скачать из:https: // github.com/uipethernet/uipethernet

С наилучшими пожеланиями

пробег
Чт, 02 марта 2017 г. 9:04
Всем привет
Извините за то, что вы всех вас. Я пытаюсь подключить свой STM32L152 к сети с использованием ENC28J60, я могу получить MAC -адрес, но не могу получить IP -адрес.
Я использовал arp_req, но я не видел его в Wireshark. Я использую библиотеку Ethersield. Пригласить мне помочь

Cassyarduino
Чт, 02, 2017, 10:05 утра
Привет!

Вы можете попробовать эту библиотеку: https: // github.com/uipethernet/uipethernet ?

С наилучшими пожеланиями
Анасс написал:Всем привет
Извините за то, что вы всех вас. Я пытаюсь подключить свой STM32L152 к сети с использованием ENC28J60, я могу получить MAC -адрес, но не могу получить IP -адрес.
Я использовал arp_req, но я не видел его в Wireshark. Я использую библиотеку Ethersield. Пригласить мне помочь

пробег
Чт, 02, 2017 10:46 утра
[QUOTE = "Cassyarduino"] Привет!

Вы можете попробовать эту библиотеку: https: // github.com/uipethernet/uipethernet ?

С наилучшими пожеланиями

привет
Спасибо за быстрый ответ
Я использую библиотеку, я думаю, что она завершена. Я получил свой MAC -адрес, но я не знаю, как использовать библиотеку, чтобы получить свой IP -адрес.
Спасибо