Hi Gibt es Interessierte eine private Sammelbestellung für die OLED 0.96 I2C Display’s durchzuführen? Ich bestelle heuer noch in China und würde eventuell einen Posten mitbestellen, der Versand entfällt, es fallen lediglich die Einfuhrabgaben nach Steuerbescheid an. Die OLED die der Händler anbietet gibt es hier ab 4,70 USD : http://www.electrodragon.com/product/0-96-12864-oled-display-iicspi/ Ich weiß, er ist nicht der günstigste, aber der verlässlichste, daher bestelle ich immer wieder mal bei ihm, weil ich mich darauf verlassen kann und habe auch in Zukunft nicht vor, den zu wechseln. Aliexpress sowie ebay kommen für mich nicht in Frage. Wer Interesse hat, einfach PM an mich. Vorkasse nehme ich nicht, bezahlt wird erst wenn es in Deutschland ist. Wenn eine Stückzahl feststeht, frage ich nach ob ED Nachlass gibt. Btw, ich persönlich nutze den OLED für den ESP8266 mit I2C. Siehe Bild. Lg rudi ;-) Frohe Festtage! Interesse & Fragen bitte per PM
R. W. schrieb: > Aliexpress sowie ebay kommen für mich nicht in Frage. Ich habe hier schon einen kleinen Stapel von diesen Displays. ESP8266 mit I2C: Wie geht das? GPIOs aus der Ferne einzeln setzen? Oder kann der ESP8266 direkt I²C per AT-Kommando? Das würde doch beides nur in einer Art "transparent bridge mode" gehen, der doch in der normalen Firmware gar nicht enthalten ist, oder?
:
Bearbeitet durch User
Hallo,
ja also ich Hätte auch hier Interesse dran.
> ESP8266 mit I2C: Wie geht das?
Diese Frage wollte ich auch stellen vor allem mit welcher Firmware.
Gruß Ronny
Hi Die technischen Fragen wären besser im ESP8266 Thread aufgehoben? > ESP8266 mit I2C: Wie geht das? Das fragt sich Espressif auch. Zwei Wochen warten bis Espressif soweit ist - http://bbs.espressif.com/viewtopic.php?f=7&t=69#p326 btw: Der ESP unterstützt I²C sowie auch SPI. Anbei ein Beispiel zum studieren mit mehreren I2C Sensoren und auch Analogen Gas Sensor. Quelle: "Costaud" http://bbs.espressif.com/viewtopic.php?f=15&t=31 > GPIOs aus der Ferne einzeln setzen? Geht > kann der ESP8266 direkt I²C per AT-Kommando? Da muss ich nachfragen wie die Frage gemeint ist Torsten. At Command und I²C passen nicht so recht in meinem Kopf. > Das würde doch beides nur > in einer Art "transparent bridge mode" gehen, der doch in der normalen > Firmware gar nicht enthalten ist, oder? btw was ist heutzutage noch normal? Spass beiseite. ESP8266 z.B.I²C mit den ESP-12 Beispiel: SDA : GPIO2 SCL : MTMS (GPIO14 ) SSD1306 lib einbinden vom Hersteller/Vertreiber Den SoC wie jeden anderen auch üblichen I²C Procederas beibbringen. mit dem ESP-01,02,03,04,05 siehe Bild oder ein einfaches I²C 16x2 mit dem ESP-01.. http://www.esp8266.com/viewtopic.php?f=6&t=841&hilit=i2c einfach die I²C Pins definieren in der Firmware Erstellung. Register Einstellungen guckst Dir vom dem IoT Beispiel ab, solange Espressif keine Register Listen für I²C herausbringt. So einfach ist das. @Torsten Was meinst Du mit Art "transparent bridge mode"? @Ronny Fimrware? Es ist keine Standard FW. zum besseren Verständis anbei einfacher C51 code für das gleiche Driver Display nur anderer Hersteller.
1 | /**********************************************************************************************
|
2 | Project Code : LY096BG30-128064
|
3 | Dot Matrix : 128X64
|
4 | Driver IC : SSD1306Z
|
5 | Interface : I2C
|
6 | MCU : AT89C52
|
7 | Revision : A
|
8 | Date : 2010/9/28
|
9 | Editor : Frank chen
|
10 | |
11 | Copyright (c) : Li Yuan Electronics Co.,Ltd.
|
12 | Contact us : Tel: +86 755 26523608 Email: hellojack2009@hotmail.com
|
13 | **********************************************************************************************/
|
14 | #include "reg52.h" |
15 | #define high 1
|
16 | #define low 0
|
17 | /*************Pin Define***************/
|
18 | sbit CS=P1^2; |
19 | sbit RES=P1^3; |
20 | sbit DC=P1^4; |
21 | sbit W_R=P1^5; |
22 | sbit R_D=P1^6; |
23 | sbit SCL=P0^0; |
24 | sbit SDA=P0^1; |
25 | /****************************************************/
|
26 | void Initial_LY096BG30(); |
27 | void Delay_50ms(unsigned int Del_50ms); |
28 | void Delay_1ms(unsigned int Del_1ms); |
29 | void fill_picture(unsigned char fill_Data); |
30 | void Picture_1(); |
31 | void IIC_Start(); |
32 | void IIC_Stop(); |
33 | void Write_IIC_Command(unsigned char IIC_Command); |
34 | void Write_IIC_Data(unsigned char IIC_Data); |
35 | void Write_IIC_Byte(unsigned char IIC_Byte); |
36 | /***********************Initial code*********************/
|
37 | void Initial_LY096BG30() |
38 | {
|
39 | Write_IIC_Command(0xAE); //display off |
40 | Write_IIC_Command(0x20); //Set Memory Addressing Mode |
41 | Write_IIC_Command(0x10); //00,Horizontal Addressing Mode;01,Vertical Addressing Mode;10,Page Addressing Mode (RESET);11,Invalid |
42 | Write_IIC_Command(0xb0); //Set Page Start Address for Page Addressing Mode,0-7 |
43 | Write_IIC_Command(0xc8); //Set COM Output Scan Direction |
44 | Write_IIC_Command(0x00);//---set low column address |
45 | Write_IIC_Command(0x10);//---set high column address |
46 | Write_IIC_Command(0x40);//--set start line address |
47 | Write_IIC_Command(0x81);//--set contrast control register |
48 | Write_IIC_Command(0x7f); |
49 | Write_IIC_Command(0xa1);//--set segment re-map 0 to 127 |
50 | Write_IIC_Command(0xa6);//--set normal display |
51 | Write_IIC_Command(0xa8);//--set multiplex ratio(1 to 64) |
52 | Write_IIC_Command(0x3F);// |
53 | Write_IIC_Command(0xa4);//0xa4,Output follows RAM content;0xa5,Output ignores RAM content |
54 | Write_IIC_Command(0xd3);//-set display offset |
55 | Write_IIC_Command(0x00);//-not offset |
56 | Write_IIC_Command(0xd5);//--set display clock divide ratio/oscillator frequency |
57 | Write_IIC_Command(0xf0);//--set divide ratio |
58 | Write_IIC_Command(0xd9);//--set pre-charge period |
59 | Write_IIC_Command(0x22); // |
60 | Write_IIC_Command(0xda);//--set com pins hardware configuration |
61 | Write_IIC_Command(0x12); |
62 | Write_IIC_Command(0xdb);//--set vcomh |
63 | Write_IIC_Command(0x20);//0x20,0.77xVcc |
64 | Write_IIC_Command(0x8d);//--set DC-DC enable |
65 | Write_IIC_Command(0x14);// |
66 | Write_IIC_Command(0xaf);//--turn on oled panel |
67 | }
|
68 | /***********************Picture Code**************************/
|
69 | unsigned char code show1[]= |
70 | {
|
71 | 0x00,0x00,0x00,0x00,0x00,0x01,0x01,0xFF,0x01,0x01,0x00,0x00,0x00,0x00,0x20,0xF1, |
72 | 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x07,0x19,0xE0,0x10,0x0D,0x03,0x01,0x01, |
73 | 0x10,0xF0,0x00,0x00,0x10,0xF0,0x00,0x00,0x20,0x90,0x90,0x50,0xE0,0x00,0x20,0xF0, |
74 | 0x20,0x10,0x10,0xE0,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0xFF,0x21,0x21,0x21,0x71, |
75 | 0x03,0x00,0x02,0xFF,0x00,0x00,0xE0,0x50,0x50,0x50,0x60,0x00,0x00,0xE0,0x10,0x10, |
76 | 0x10,0x20,0x00,0x10,0xFC,0x10,0x10,0x20,0xF0,0x20,0x10,0x10,0x00,0xC0,0x20,0x10, |
77 | 0x10,0x20,0xC0,0x00,0x20,0xF0,0x20,0x10,0x10,0xE0,0x00,0x20,0xF1,0x00,0x00,0xE0, |
78 | 0x10,0x10,0x10,0x20,0x00,0x00,0x60,0x90,0x90,0x30,0x00,0x00,0x00,0x00,0x00,0x00, |
79 | 0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0x06,0x01,0x04,0x07, |
80 | 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x07,0x04,0x04,0x00,0x00,0x00, |
81 | 0x00,0x03,0x04,0x04,0x02,0x07,0x02,0x00,0x07,0x04,0x04,0x02,0x07,0x04,0x04,0x07, |
82 | 0x04,0x00,0x04,0x07,0x04,0x00,0x00,0x00,0x00,0x04,0x04,0x07,0x04,0x04,0x04,0x04, |
83 | 0x06,0x01,0x04,0x07,0x04,0x00,0x03,0x04,0x04,0x04,0x02,0x00,0x00,0x03,0x04,0x04, |
84 | 0x04,0x02,0x00,0x00,0x07,0x04,0x02,0x04,0x07,0x04,0x00,0x00,0x00,0x01,0x02,0x04, |
85 | 0x04,0x02,0x01,0x00,0x04,0x07,0x04,0x00,0x04,0x07,0x04,0x04,0x07,0x04,0x00,0x03, |
86 | 0x04,0x04,0x04,0x02,0x00,0x00,0x06,0x04,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00, |
87 | 0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80, |
88 | 0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00, |
89 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00, |
90 | 0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00, |
91 | 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00, |
92 | 0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80, |
93 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00, |
94 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
95 | 0x00,0x00,0x00,0x7F,0x80,0x80,0x80,0x7F,0x00,0x00,0x80,0x00,0x8F,0x90,0x50,0x30, |
96 | 0x1F,0x00,0x7C,0x8A,0x85,0x84,0x78,0x00,0x88,0xFC,0x80,0x88,0xFC,0x88,0x04,0x84, |
97 | 0xF8,0x80,0x00,0x78,0x84,0x84,0x4C,0x00,0x81,0xFF,0x88,0x04,0x84,0xF8,0x80,0x00, |
98 | 0x00,0x00,0x3E,0x41,0x80,0x80,0x80,0x80,0x41,0x3E,0x00,0x80,0xFF,0x80,0x80,0x80, |
99 | 0x80,0x40,0x80,0xFF,0x88,0x88,0x9C,0x81,0x40,0x80,0xFF,0x80,0x80,0x80,0x80,0x41, |
100 | 0x3E,0x00,0x00,0x00,0x00,0x80,0xFF,0x81,0x0E,0x70,0x80,0x70,0x0E,0x81,0xFF,0x80, |
101 | 0x00,0x00,0x78,0x84,0x84,0x84,0x78,0x00,0x00,0x78,0x84,0x84,0x49,0xFF,0x40,0x04, |
102 | 0x7C,0x80,0x80,0x44,0xFC,0x40,0x81,0xFF,0x80,0x00,0x78,0x94,0x94,0x58,0x00,0x00, |
103 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0xC0,0x00, |
104 | 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
105 | 0x00,0x80,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xC0,0x40, |
106 | 0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
107 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
108 | 0x00,0x80,0x40,0x40,0x40,0x80,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
109 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x00, |
110 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
111 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x71,0x22,0x42,0x44,0x44,0x39,0x00, |
112 | 0x44,0x7E,0x40,0x44,0x7E,0x44,0x02,0x42,0x7C,0x40,0x00,0xEC,0x52,0x52,0x52,0x4E, |
113 | 0x82,0x40,0x7F,0x40,0x00,0x3C,0x4A,0x4A,0x2C,0x00,0x00,0x00,0x00,0x40,0x7F,0x44, |
114 | 0x04,0x04,0x03,0x00,0x00,0x3C,0x42,0x42,0x42,0x3C,0x00,0x02,0x1E,0x60,0x12,0x1E, |
115 | 0x62,0x18,0x06,0x02,0x00,0x3C,0x4A,0x4A,0x2C,0x00,0x44,0x7E,0x44,0x02,0x00,0x00, |
116 | 0x00,0x71,0x22,0x42,0x44,0x44,0x39,0x00,0x02,0x3E,0x40,0x40,0x22,0x7E,0x20,0x04, |
117 | 0xFE,0x24,0x42,0x42,0x3C,0x00,0x04,0xFE,0x24,0x42,0x42,0x3C,0x00,0x40,0x7F,0x40, |
118 | 0x02,0x0E,0x32,0xC0,0x3A,0x06,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
119 | 0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00,0x80,0x40,0x40,0x40,0x80,0x00,0x80,0x40, |
120 | 0x40,0x40,0x80,0x00,0x80,0x40,0x40,0x40,0x80,0x00,0x00,0x01,0x02,0xC2,0x22,0x02, |
121 | 0x81,0x40,0x40,0xC0,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00,0x80,0x40,0x40,0x40, |
122 | 0x80,0x00,0x80,0x40,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40, |
123 | 0xC0,0x40,0x40,0x00,0x80,0x40,0x40,0x40,0x80,0x00,0x80,0x40,0x40,0x40,0xC0,0x00, |
124 | 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0xC2, |
125 | 0x23,0x02,0x00,0x00,0x80,0xC0,0x02,0x03,0x02,0x00,0x00,0x00,0x00,0x00,0x80,0x40, |
126 | 0x42,0x42,0xC3,0x00,0x40,0xC0,0x40,0x40,0x80,0x00,0x40,0x40,0xC0,0x40,0x40,0x00, |
127 | 0x00,0x00,0x1D,0x22,0x22,0x22,0x1D,0x00,0x1F,0x20,0x20,0x20,0x1F,0x00,0x1D,0x22, |
128 | 0x22,0x22,0x1D,0x00,0x1F,0x20,0x20,0x20,0x1F,0x00,0x40,0x38,0x06,0x01,0x00,0x00, |
129 | 0x1F,0x22,0x22,0x22,0x1C,0x00,0x1D,0x22,0x22,0x22,0x1D,0x00,0x1F,0x20,0x20,0x20, |
130 | 0x1F,0x00,0x1F,0x20,0x20,0x20,0x1F,0x00,0x80,0x60,0x00,0x00,0x00,0x00,0x20,0x20, |
131 | 0x3F,0x20,0x20,0x00,0x31,0x28,0x24,0x22,0x21,0x00,0x1F,0x20,0x20,0x20,0x10,0x00, |
132 | 0x80,0x60,0x00,0x00,0x00,0x00,0x10,0x20,0x22,0x22,0x1D,0x00,0x40,0x38,0x06,0x01, |
133 | 0x00,0x00,0x04,0x0B,0x08,0x3F,0x28,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x31,0x22, |
134 | 0x22,0x24,0x18,0x00,0x20,0x3F,0x22,0x02,0x01,0x00,0x20,0x20,0x3F,0x20,0x20,0x00, |
135 | };
|
136 | /**********************************************
|
137 | //IIC Start
|
138 | **********************************************/
|
139 | void IIC_Start() |
140 | {
|
141 | SCL = high; |
142 | //Delay_us(1);
|
143 | SDA = high; |
144 | //Delay_us(1);
|
145 | SDA = low; |
146 | // Delay_us(1);
|
147 | SCL = low; |
148 | // Delay_us(1);
|
149 | }
|
150 | |
151 | /**********************************************
|
152 | //IIC Stop
|
153 | **********************************************/
|
154 | void IIC_Stop() |
155 | {
|
156 | SCL = low; |
157 | //Delay_us(1);
|
158 | SDA = low; |
159 | //Delay_us(1);
|
160 | SCL = high; |
161 | //Delay_us(1);
|
162 | SDA = high; |
163 | //Delay_us(1);
|
164 | }
|
165 | /**********************************************
|
166 | // IIC Write byte
|
167 | **********************************************/
|
168 | void Write_IIC_Byte(unsigned char IIC_Byte) |
169 | {
|
170 | unsigned char i; |
171 | for(i=0;i<8;i++) |
172 | {
|
173 | if(IIC_Byte & 0x80) //1?0? |
174 | SDA=high; |
175 | else
|
176 | SDA=low; |
177 | //Delay_us(1);
|
178 | SCL=high; |
179 | //Delay_us(1);
|
180 | SCL=low; |
181 | //Delay_us(1);
|
182 | IIC_Byte<<=1; //loop |
183 | }
|
184 | SDA=1; |
185 | //Delay_us(1);
|
186 | SCL=1; |
187 | //Delay_us(1);
|
188 | SCL=0; |
189 | //Delay_us(1);
|
190 | }
|
191 | /**********************************************
|
192 | // IIC Write Command
|
193 | **********************************************/
|
194 | void Write_IIC_Command(unsigned char IIC_Command) |
195 | {
|
196 | IIC_Start(); |
197 | Write_IIC_Byte(0x78); //Slave address,SA0=0 |
198 | Write_IIC_Byte(0x00); //write command |
199 | Write_IIC_Byte(IIC_Command); |
200 | IIC_Stop(); |
201 | }
|
202 | /**********************************************
|
203 | // IIC Write Data
|
204 | **********************************************/
|
205 | void Write_IIC_Data(unsigned char IIC_Data) |
206 | {
|
207 | IIC_Start(); |
208 | Write_IIC_Byte(0x78); |
209 | Write_IIC_Byte(0x40); //write data |
210 | Write_IIC_Byte(IIC_Data); |
211 | IIC_Stop(); |
212 | }
|
213 | /********************************************
|
214 | // fill_Picture
|
215 | ********************************************/
|
216 | void fill_picture(unsigned char fill_Data) |
217 | {
|
218 | unsigned char m,n; |
219 | for(m=0;m<8;m++) |
220 | {
|
221 | Write_IIC_Command(0xb0+m); //page0-page1 |
222 | Write_IIC_Command(0x00); //low column start address |
223 | Write_IIC_Command(0x10); //high column start address |
224 | for(n=0;n<128;n++) |
225 | {
|
226 | Write_IIC_Data(fill_Data); |
227 | }
|
228 | }
|
229 | }
|
230 | /******************************************
|
231 | // picture
|
232 | ******************************************/
|
233 | void picture_1() |
234 | {
|
235 | unsigned char x,y; |
236 | unsigned int i=0; |
237 | for(y=0;y<8;y++) |
238 | {
|
239 | Write_IIC_Command(0xb0+y); |
240 | Write_IIC_Command(0x00); |
241 | Write_IIC_Command(0x10); |
242 | for(x=0;x<128;x++) |
243 | {
|
244 | Write_IIC_Data(show1[i++]); |
245 | }
|
246 | }
|
247 | }
|
248 | /***********************Delay****************************************/
|
249 | void Delay_50ms(unsigned int Del_50ms) // |
250 | {
|
251 | unsigned int m; |
252 | for(;Del_50ms>0;Del_50ms--) |
253 | for(m=6245;m>0;m--); |
254 | }
|
255 | |
256 | void Delay_1ms(unsigned int Del_1ms) // |
257 | {
|
258 | unsigned char j; |
259 | while(Del_1ms--) |
260 | {
|
261 | for(j=0;j<123;j++); |
262 | }
|
263 | }
|
264 | /*******************************Main*******************************/
|
265 | void main(void) |
266 | {
|
267 | RES=0; |
268 | Delay_1ms(10); |
269 | RES=1; |
270 | Delay_1ms(10); |
271 | R_D=0; //In I2C mode, they should be connected to GND in hardware. |
272 | W_R=0; // |
273 | DC=0; // |
274 | CS=0; // |
275 | Initial_LY096BG30(); |
276 | Delay_1ms(5); |
277 | while(1) |
278 | {
|
279 | fill_picture(0xff); Delay_50ms(100); |
280 | fill_picture(0xf0); Delay_50ms(100); |
281 | Picture_1(); Delay_50ms(200); |
282 | }
|
283 | }
|
Hast du ein SSD1306 am ESP am laufen? Wenn ja, kannste mal code posten? Bei mir bleibt das Display schwarz. :x
Peter L. schrieb: > Hast du ein SSD1306 am ESP am laufen? > Wenn ja, kannste mal code posten? > Bei mir bleibt das Display schwarz. :x Eröffne mal einen Thread zu dem Problem und zeig mal Deinen Code. Sammelbestellung: Die Sammelbestellung schliesst sich hier. Weiteren Ablauf dann per PM. lg rudi ;-)
R. W. schrieb: > Die technischen Fragen wären besser im ESP8266 Thread aufgehoben? Davon gibt's inzwischen viele, meinst Du einen bestimmten? Da das Thema Sammelbestellung durch ist und ich noch Antworten schuldig bin, poste ich trotzdem nochmal hier. R. W. schrieb: >> kann der ESP8266 direkt I²C per AT-Kommando? > Da muss ich nachfragen wie die Frage gemeint ist Torsten. > At Command und I²C passen nicht so recht in meinem Kopf. Na z.B. ein ATI2CWRITE=3,111 könnte 3 Bytes erwarten und die an die I²C-Adresse 111 senden. R. W. schrieb: > was ist heutzutage noch normal? > Was meinst Du mit Art "transparent bridge mode"? Sorry, der Begriff war wohl eh falsch. Ich meinte: Kann man die AT-Kommandos auch per Telnet schicken, statt über den UART, um den ESP standalone zu benutzen? Mit "normal" meine ich, ohne eigene Firmware flashen zu müssen, also im Auslieferungszusand. Aber die Frage hat sich m.E. geklärt: Der ESP lässt sich im Auslieferungszusand nicht standalone nutzen . R. W. schrieb: > einfach die I²C Pins definieren in der Firmware Erstellung. … > So einfach ist das. Na gut, dann muss ich da wohl durch, vielen Dank (doppelt unterstrichen) für Deine Tipps!
Torsten C. schrieb: > R. W. schrieb: >> Die technischen Fragen wären besser im ESP8266 Thread aufgehoben? > > Davon gibt's inzwischen viele, meinst Du einen bestimmten? das stimmt ;-) na ja - den ellenlangen halt - vieleicht ist es wirklich besser man macht mal einen cut und eröffnet einen nur für FW Technik? > R. W. schrieb: >>> kann der ESP8266 direkt I²C per AT-Kommando? >> Da muss ich nachfragen wie die Frage gemeint ist Torsten. >> At Command und I²C passen nicht so recht in meinem Kopf. > > Na z.B. ein ATI2CWRITE=3,111 könnte 3 Bytes erwarten und die an die > I²C-Adresse 111 senden. Als 0815 FW noch nicht Torsten, aber Ja - wenn man die selber macht: nehme jetzt anstatt TTW jetzt SPI her, ist der selbe Ablauf: z.B. jetzt mit dem SPI Beispiel und dem MCP23S17 kann man einrichten so wie du das andenkst, bist schon richtig, lesen. schreiben etc..nehme deine Fährte auf und modeliere um: AT+SPIWRITE=3,213 in dem Fall dann für MCP23S17 Device 3 ( A2=0 A1=1 A0=1 ) den WERT 213 schreiben ( 1 1 0 1 0 1 0 1 ) oder wie du vorgibst 3 Byte an Adresse 111 dann muss die Syntax klar sein wie du die 3 Byte eingeben willst also entweder bestimmter Delimeter oder einfach Leerzeichen AT+I2CWRITE=3,111 > 29 211 21 SEND OK ok? da kann man ein ganzes Protokoll anlegen. von der Init bis zu den Regsitern und den Datenaustausch. geb dir demnächst das beispiel vor, mit SPI und dem MCP23S17 ich werde dann an den PortA eine 8fach Relais Karte anstecken und über AT+SPIWRITE=3,213 5 Relais High 3 Relias Low schalten oder wenn du ein LCD anschliesst AT+SPIWRITE=3,65 ein 'A' schreiben oder dann mit einem Array von Zeichen ganze Wörter usw. das gleiche geht auch mit TTW > > R. W. schrieb: >> was ist heutzutage noch normal? >> Was meinst Du mit Art "transparent bridge mode"? > > Sorry, der Begriff war wohl eh falsch. Ich meinte: Kann man die > AT-Kommandos auch per Telnet schicken, Ja - das macht auch Sinn, wenn du die Baudrate ändern willst dann machst du das einfach per Telnet über WIFI und hast das Problem nicht mit dem nachstellen der Baudrate am UART. Das mach ich z.B. mit Debug Processing so, wenn man spezielle Baudraten braucht und anderes.. Du kannst alle Protokolle mit nur einer offenen Socket bedienen, man muss nur auf den Request eben entsprechend reagieren. wenn ein "/GET reinkommt dann antwortet er mit HTTP wenn ein "/Telnet reinkommt dann antwortet er mit einer Telnetsitzung wenn ein "/TCP reinkommt das vereinbart ist, dann antwortet er eben so darauf Ich nehm grundsätzlich dafür eine Socket her, das spart mir den Umgang mit den Connection's[] > statt über den UART, um den ESP > standalone zu benutzen? Mit "normal" meine ich, ohne eigene Firmware > flashen zu müssen, also im Auslieferungszusand. Aber die Frage hat sich > m.E. geklärt: > > Der ESP lässt sich im Auslieferungszusand nicht standalone nutzen . na ja - wenn du dir eine FW für 10000 Module wünscht die Standalone so und so funktionieren soll, dann wirst du eine bekommen ;-) bei 9999 nicht ;-) na ja .. ist VHB ;-) Aber das Thema Standalone: Wenn Du einen externen MCU für die Bedienung verwendest dann kannst du ja AT Sequenzen erstellen der dann zum Stanalone führt.. > > R. W. schrieb: >> einfach die I²C Pins definieren in der Firmware Erstellung. … >> So einfach ist das. > > Na gut, dann muss ich da wohl durch, vielen Dank (doppelt unterstrichen) > für Deine Tipps! Hört sich alles schwer an - ist aber im Grunde nicht anders wie bei anderen µC auch. Da gehst Du durch wie Messer durch Butter - bin mir sicher! Wenns eckt - durchfragen - lg rudi ;-)
Sorry, von "Ja - das macht auch Sinn" bis "das spart mir den Umgang mit den Connection's" habe ich kein einziges Wort verstanden. R. W. schrieb: > wenn du die Baudrate ändern willst > dann machst du das einfach per Telnet über WIFI > und hast das Problem nicht mit dem nachstellen der Baudrate am UART. Wir reden also davon, dass der ESP standalone läuft und weder an RX noch an TX was angeschlossen ist, richtig? R. W. schrieb: > Du kannst alle Protokolle mit nur einer offenen Socket bedienen, > man muss nur auf den Request eben entsprechend reagieren. Mit der Firmware im Auslieferungszustand? Wie das? Mit neuer Firmware könnte man alles, das ist ja klar, darüber muss man nicht reden. R. W. schrieb: > Du kannst alle Protokolle mit nur einer offenen Socket bedienen, > man muss nur auf den Request eben entsprechend reagieren. Klar, genau so mache ich das ja, über RX/TX auf dem ATTiny. Aber ich will ja "AT-Kommandos per Telnet" ^^ schicken, damit ich sie nicht über RX/TX schicken muss und Du hast "Ja - das macht auch Sinn" geantwortet. Aber wie soll das gehen, außer mit selbst geschriebener Firmware?
;-) ;-) ich denke wir reden aneinander vorbei ;-) .. Torsten C. schrieb: > Sorry, von "Ja - das macht auch Sinn" bis "das spart mir den Umgang > mit den Connection's" habe ich kein einziges Wort verstanden. > > R. W. schrieb: >> wenn du die Baudrate ändern willst >> dann machst du das einfach per Telnet über WIFI >> und hast das Problem nicht mit dem nachstellen der Baudrate am UART. > > Wir reden also davon, dass der ESP standalone läuft und weder an RX noch > an TX was angeschlossen ist, richtig? ok standalone - der esp bekommt strom und macht sein ding - tcp http udp server, port starten und auf was warten - tcp http udp client, port starten und mit was verbinden - mit rx tx angeschlossenen µC kommunizieren nach einem bestimmten Ablauf die ersten beiden sachen gehen nur über eine eigene FW das drittte geht über AT Commands die ersten beiden sachen gehen auch mit Standard FW dazu muss aber dann am rx/tx angeschlossener µC Befehle absetzen oder jemand am terminal. > > R. W. schrieb: >> Du kannst alle Protokolle mit nur einer offenen Socket bedienen, >> man muss nur auf den Request eben entsprechend reagieren. > ***** > Mit der Firmware im Auslieferungszustand? Wie das? ich sag erschrechkend ja im auslieferungszustand wenn du den µC entsprechend die Befehle absetzen lässt also serversocket öffnen wenn sich jemand über wifi connected dann den request auswerten und antworten eben wie ein http server der eben auf dem µC läuft und die verbindung über den ESP als WIFi nutzt. > > Mit neuer Firmware könnte man alles, das ist ja klar, darüber muss man > nicht reden. ok. > > R. W. schrieb: >> Du kannst alle Protokolle mit nur einer offenen Socket bedienen, >> man muss nur auf den Request eben entsprechend reagieren. > > Klar, genau so mache ich das ja, über RX/TX auf dem ATTiny. Wie jetzt? Paar zeilen vorher ;-) ***** war dir das nicht bewusst ;-) .. ok > > Aber ich will ja "AT-Kommandos per Telnet" ^^ schicken, damit ich sie > nicht über RX/TX schicken muss da brauchst du eine eigene FW > und Du hast "Ja - das macht auch Sinn" > geantwortet. Aber wie soll das gehen, außer mit selbst geschriebener > Firmware? das geht nur mit FW die Telnet unterstützt Torsten. Aber - jetzt kommt das grosse Aber: Was willst du machen? a) Den ESP ( GPIO schalten, I2C, SPI walten.. ) über Telnet steuern? b) Den Attiny über Telnet steuern? c) Den Attiny als Telnet Server laufen lassen und den ESP nur als TCP Schnittstelle nutzen und den ESP auf AT Commands über diese WIFI Schnittstelle steuern? a) dazu braucht es eine Telnet FW b) dazu braucht es eine FW für den Attiny c) dazu braucht es AT Command auf dem ESP dazu braucht es eine FW für den Attiny lg rudi ;-) mit Ja - das macht durchaus Sinn ist das so gemneint: Du hast einen ganz speziellen Baustein auf Seriel mit einer Baudrate die nur der Baustein versteht, aber kein Terminal. Du hast eine FW die variable Baudraten Einstellung unterstützt. Gibt es sogar als Standard FW oder eine eigene FW. Standard FW: Jetzt schaltet du über wifi die baudrate über den Attiny der dir die Baudraten AT Command absetzt der Baustein kann jetzt über wifi angesprochen werden "transparenter Mode" Wenn du wieder normale Baudrate brauchst dann setzt über wifi den close befehl für den transparent mode ab oder machst einen rest oder wie auch immer - der standard mode ist wieder da - Das ist aber Käse weil man einen switch braucht zwischen den beiden attiny - baustein, und pins fürs reseten .. also eigene FW, die über wifi das ganze steuert. Über eine eingehende Telnet verbindung z.b. der Telnet Server läuft dann direkt auf dem ESP. und den Attiny braucht es dann nicht mehr. Mit Standard FW geht nur das - was in der FW zur Verfügung steht, es geht: Server starten Serber stopen auf Request reagieren Response senden das muss dann im Zusammenspiel vom Attiny kommen wenn es autom laufen soll. so der arme oled thread wurde jetzt sehr missbraucht ;-) ..
Es gibt Leute die schaffen es lange Threads mit kurzen Inhalten zu schreiben. ;) ;) ;)
Opeldesign schrieb: > Es gibt Leute die schaffen es lange Threads mit kurzen Inhalten zu > schreiben Mir tut es sehr leid um Rudis Zeit, die er hier mit fraglichem Sinn investiert, nur weil wir aneinander vorbei reden. Ursprünglich ich schrieb: > ESP8266 mit I2C: Wie geht das? GPIOs aus der Ferne einzeln setzen? Oder > kann der ESP8266 direkt I²C per AT-Kommando? Das würde doch beides nur … … über eine Funktion "AT-Kommandos per Telnet" Sinn machen, die … > … doch in der normalen Firmware gar nicht enthalten ist, oder? Hier hatte ich mich ja falsch ausgedrückt, daher die Ersetzung; das war ja inzwischen geklärt; sorry nochmal. Mit "Sinn machen" meine ich: Falls ich einen ATTiny für RX/TX brauche, dann kann ich SPI, I²C usw. auch auf dem ATTiny nutzen und könnte die Firmware im Auslieferungszustand belassen. Alles andere macht doch keinen Sinn ! Rudi, als Du dann auf mein "Kann man AT-Kommandos auch per Telnet schicken" mit "Ja - das …"^^ geantwortet hast, dachte ich, Du meinst, es ginge nun doch irgendwie mit der normalen Firmware standalone AT-Kommandos per Telnet zu schicken. Also Eigentlich wäre es ganz einfach gewesen, Frage -> Antwort: Als Frage Torsten C. schrieb: > Kann man die AT-Kommandos auch per Telnet schicken, statt > über den UART, um den ESP standalone zu benutzen? Als Antwort r_u_d_i schrieb: > da brauchst du eine eigene FW So, nun ist ja vielleicht alles klar und wir brauchen den Thread nicht mehr missbrauchen. Danke nochmal für die Infos.
:
Bearbeitet durch User
Torsten C. schrieb: > Also Eigentlich wäre es ganz einfach gewesen, Frage -> Antwort: > > Als Frage Torsten C. schrieb: >> Kann man die AT-Kommandos auch per Telnet schicken, statt >> über den UART, um den ESP standalone zu benutzen? > > Als Antwort r_u_d_i schrieb: >> da brauchst du eine eigene FW Oder vorschlagen was du brauchst, dann fliesst das in die nächste AT Version ein wenn es Sinn macht. Und es geht dann Standalone ;-) btw: Der Tip mit dem Touch+Android !!!SUPER!!! Heut angekommen. Hab nachgeordert ;-) Bin dabei die erste App zu machen. Was ich nicht gewusst habe, ist, dass man den Bildschirm auch an den PC hängen kann und den Touch auch - man kann mit dem HDMI Switch hin und herschalten. ...bla bla bla ;-) weisst alles selber - bin begeistert! Das tolle: Voller USB OTG Support - alles hab ich noch nicht durch - aber denke da geht alles.
R. W. schrieb: > Oder vorschlagen was du brauchst, > dann fliesst das in die nächste AT Version ein wenn es Sinn macht. ❶ Der ESP muss sich per AT-Kommando über RX/TX in einen Modus bringen lassen, um danach AT-Kommandos per Telnet entgegen zu nehmen; Z.B. „AT+TELNETAT=22“ und er horcht auf Port 22 nach AT-Kommandos. ❷ Der ESP muss sich die letzte Einstellung für TELNETAT im EEPROM merken und nach einem Reset wieder herstellen. ❸ Die verfügbaren Pins müssen per AT-Kommando nutzbar sein: GPIO, I²C, SPI, PWM, ADC. Beim ESP-01 vielleicht nur ein GPIO (Taster, Relais, …), beim ESP-12 vielleicht alles, vielleicht sogar frei konfigurierbar. Das ist dann zwar alles ohne Verschlüsselung, aber es geht, um dafür ein PCB zu produzieren und zu testen. Später kann man immer noch neue FW mit einem verschlüsselten Nicht-AT-Protokoll erstellen (z.B. JSON per HTTPS + Login-Passwort). Ich brauche aber weder 999 noch 1000 Stück davon. ;-) Und das passt dann auch wieder zum Thread-Titel: "OLED 0.96 I2C für den ESP8266"
:
Bearbeitet durch User
> Und das passt dann auch wieder zum Thread-Titel: > > "OLED 0.96 I2C für den ESP8266" na dann wenns passt ;-) Torsten C. schrieb: > R. W. schrieb: >> Oder vorschlagen was du brauchst, >> dann fliesst das in die nächste AT Version ein wenn es Sinn macht. > > ❶ Der ESP muss sich per AT-Kommando über RX/TX in einen Modus > bringen lassen, um danach AT-Kommandos per Telnet entgegen zu nehmen; > Z.B. „AT+TELNETAT=22“ und er horcht auf Port 22 nach AT-Kommandos. okay - nachgefragt: Über Telnet dann gleiche AT Syntax oder Directory wie bei den Routern? ( finde ich unpraktisch ) also: AT+CIFSR es kommen die IP Adresss oder cd CIFSR hier stehen die IP Adressen als Eintrag > ❷ Der ESP muss sich die letzte Einstellung für TELNETAT im EEPROM > merken und nach einem Reset wieder herstellen. das ist das wenigste > ❸ Die verfügbaren Pins müssen per AT-Kommando nutzbar sein: > GPIO, CD GPIO GPIO> cd 12 GPIO>12> high GPIO>12>dir GPIO>12>high GPIO>12> low GPIO>12>dir GPIO>12>low AT+GPIO12=1 AT+GPIO12=0 AT+GPIO12? GPIO12=0 > I²C, Anforderungen? .. > SPI, .. > PWM, .. > ADC. AT+CWADC 112mV > Beim ESP-01 vielleicht nur ein GPIO (Taster, > Relais, …), beim ESP-12 vielleicht alles, vielleicht sogar frei > konfigurierbar. > > Das ist dann zwar alles ohne Verschlüsselung, aber es geht, um dafür ein > PCB zu produzieren und zu testen. Später kann man immer noch neue FW mit > einem verschlüsselten Nicht-AT-Protokoll erstellen (z.B. JSON per HTTPS > + Login-Passwort). loop AES 256? http://sourceforge.net/projects/loop-aes/ http://loop-aes.sourceforge.net/aespipe/ ( arduino ect ) https://github.com/qistoph/ArduinoAES256 http://www.literatecode.com/aes256 > > Ich brauche aber weder 999 noch 1000 Stück davon. ;-) ja dann .. müssen wir durch ;-) eins nach dem anderen IDE ... Jetzt testen wir mal die neue 0.9.5 ob die jetzt so läuft wie wir die haben wollen, wenn das Fundamente hat, dann rentiert sich der Aufwand und dann erstellen wir eine community fw damit alle was davon haben. lg rudi ;-)
r_u_d_i schrieb: > gleiche AT Syntax oder Directory wie bei den Routern? Zu "cd" (Directory wie bei den Routern) habe ich keine Infos gefunden. Hast Du dazu einen Link? Wir können auch im Beitrag "Re: Wlan2Serial Modul für 5 euro" weiter machen. Nun ist gerade alles durcheinaner und ich bin Schuld. :-(
Torsten C. schrieb: > r_u_d_i schrieb: >> gleiche AT Syntax oder Directory wie bei den Routern? > > Zu "cd" (Directory wie bei den Routern) habe ich keine Infos gefunden. > > Hast Du dazu einen Link? z.B. http://www.su4me.de/hdw_router_lancom.html ganz unten > > Wir können auch im > Beitrag "Re: Wlan2Serial Modul für 5 euro" weiter > machen. Nun ist gerade alles durcheinaner und ich bin Schuld. :-( da gehören immer zwei!.. ok - also dann poste ich nicht mehr hier ;-)
r_u_d_i schrieb: > Jetzt testen wir mal die neue 0.9.5 ob die jetzt so läuft wie wir die > haben wollen, wenn das Fundamente hat, dann rentiert sich der Aufwand > und dann erstellen wir eine community fw damit alle was davon haben. Und Los ! Gruß
Hi endlich da. A) SPI OLED: http://www.electrodragon.com/product/0-96-12864-oled-display-iicspi/ VOll Display - keine Balkentrennung wie hier: http://www.ebay.de/itm/371193175731 Weiss auf Schwarz - eigene Farbfolie dann nach Wahl möglich 5,40 bis 5,80 EUR ab Deutschland sofort verfügbar es sind zwei verschiedene Paketsendungen mit zwei verschiedene Versandkostenanteile daher ca 0,40 eur unterschied. B) SPI OLED mit Balkentrennung, zwei farbig 5,40 bis 5,80 EUR ab Deutschland sofort verfügbar es sind zwei verschiedene Paketsendungen mit zwei verschiedene Versandkostenanteile daher ca 0,40 eur unterschied. Printed / Funktion GND = GND VCC = VCC SCL = CLK SDA = MOSI RST = RST D/C = D/C CS ist bereits kontaktiert auf GND Arduino Sketch für den Käufer auf Anfrage per PM. ESP8266 FW ebenfalls für den Käufer auf Anfrage per PM. Werde das heute Abend noch mal pushen und Bilder dazustellen. lg rudi ;-)
r_u_d_i schrieb: > A) SPI OLED: > http://www.electrodragon.com/product/0-96-12864-oled-display-iicspi/ > > VOll Display - keine Balkentrennung wie hier: > Ebay-Artikel Nr. 371193175731 > > Weiss auf Schwarz - eigene Farbfolie dann nach Wahl möglich Hy, hätte da auch Interesse drann wie ist das mit der Firmware dazu zum ESP gibt es die auch als Souce Code dazu ? lg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.