<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.ccc-mannheim.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=ESP8266%2FProgrammer</id>
	<title>ESP8266/Programmer - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://www.ccc-mannheim.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=ESP8266%2FProgrammer"/>
	<link rel="alternate" type="text/html" href="https://www.ccc-mannheim.de/mediawiki/index.php?title=ESP8266/Programmer&amp;action=history"/>
	<updated>2026-05-07T10:30:36Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in C3MAWiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://www.ccc-mannheim.de/mediawiki/index.php?title=ESP8266/Programmer&amp;diff=2818&amp;oldid=prev</id>
		<title>Ollo: Programmer</title>
		<link rel="alternate" type="text/html" href="https://www.ccc-mannheim.de/mediawiki/index.php?title=ESP8266/Programmer&amp;diff=2818&amp;oldid=prev"/>
		<updated>2015-04-17T16:41:27Z</updated>

		<summary type="html">&lt;p&gt;Programmer&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= ESP8266 Programmer =&lt;br /&gt;
Mit diesem Tool können &amp;#039;&amp;#039;&amp;#039;lua&amp;#039;&amp;#039;&amp;#039; Dateien auf einen ESP gespielt werden.&lt;br /&gt;
== Interface ==&lt;br /&gt;
* Seriell&lt;br /&gt;
* TCP&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Beamer mit neuer Lokig bespielen&lt;br /&gt;
  ./programESP.sh 10.23.xx.xx beamer_init.lua init.lua&lt;br /&gt;
Paanik wir können nur noch über die Serielle Schnittstelle mit dem ESP reden:  &lt;br /&gt;
 sudo ./programESP.sh serial beamer_init.lua init.lua&lt;br /&gt;
== Quellcode ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
DEVICE=/dev/ttyUSB0&lt;br /&gt;
SLEEPTIME=0.2&lt;br /&gt;
TCPPORT=2323&lt;br /&gt;
&lt;br /&gt;
function usage() {&lt;br /&gt;
  echo &amp;quot;$0 usage:&amp;quot;&lt;br /&gt;
  echo &amp;quot;$0 serial|ip fileOnHost.lua (fileOnESP.lua)&amp;quot;&lt;br /&gt;
  echo &amp;quot;&amp;quot;&lt;br /&gt;
  echo &amp;quot;The flash logic can be done via ethernet or serial&amp;quot;&lt;br /&gt;
  echo &amp;quot;The first filename is mandatory!&amp;quot;&lt;br /&gt;
  echo &amp;quot;&amp;quot;&lt;br /&gt;
  echo &amp;quot;The second filename is the filename on the LUA devic.&amp;quot;&lt;br /&gt;
  echo &amp;quot;&amp;quot;&lt;br /&gt;
  echo &amp;quot;Example:&amp;quot;&lt;br /&gt;
  echo -e &amp;quot;$0 serial hello.txt\tSends the content of hello.txt to the ESP (directly as if you type it)&amp;quot;&lt;br /&gt;
  echo -e &amp;quot;$0 serial init_example.lua init.lua\tUpdates the init.lua on the ESP&amp;quot;&lt;br /&gt;
  echo &amp;quot;   (The init.lua file is executed each time, the ESP starts)&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
serial)&lt;br /&gt;
  IP=&amp;quot;&amp;quot;&lt;br /&gt;
  if [ &amp;quot;$EUID&amp;quot; -ne 0 ]&lt;br /&gt;
    then echo &amp;quot;Please run as root&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
  fi&lt;br /&gt;
  ;;&lt;br /&gt;
&lt;br /&gt;
*)&lt;br /&gt;
  if [[ $1 =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]];then&lt;br /&gt;
    IP=$1&lt;br /&gt;
  else&lt;br /&gt;
    usage&lt;br /&gt;
  fi&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if [ ! -f $2 ]; then&lt;br /&gt;
 usage&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ $IP != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Using network: $IP &amp;quot;&lt;br /&gt;
    echo &amp;quot;Checking connection ...&amp;quot;&lt;br /&gt;
    ping -c 3 $IP &amp;gt;&amp;gt; /dev/null&lt;br /&gt;
    if [ $? -ne 0 ]; then&lt;br /&gt;
      echo &amp;quot;Cannot find ESP at $IP&amp;quot;&lt;br /&gt;
      exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    DEVICE=/dev/tcp/$IP/$TCPPORT&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# The flashing logic&lt;br /&gt;
if [ &amp;quot;$3&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
  echo &amp;quot;Sending to shell...&amp;quot;&lt;br /&gt;
  cat $2  | while read a; do echo -e &amp;quot;$a\r&amp;quot; &amp;gt;&amp;gt; $DEVICE; echo -e &amp;quot;$a&amp;quot;; sleep $SLEEPTIME; done&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Writing $3 on the ESP&amp;quot;&lt;br /&gt;
  echo &amp;quot;=========================&amp;quot;&lt;br /&gt;
  echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; $DEVICE; sleep $SLEEPTIME&lt;br /&gt;
  echo &amp;quot;file.open(\&amp;quot;$3\&amp;quot;,\&amp;quot;w\&amp;quot;)&amp;quot; &amp;gt;&amp;gt; $DEVICE; sleep $SLEEPTIME&lt;br /&gt;
  cat $2 | while read a; do echo &amp;quot;file.writeline([[${a}]])&amp;quot; &amp;gt;&amp;gt; $DEVICE; echo -e &amp;quot;\r&amp;quot; &amp;gt;&amp;gt; $DEVICE; echo &amp;quot;$a&amp;quot;; sleep $SLEEPTIME; done&lt;br /&gt;
  # Close the init file&lt;br /&gt;
  echo &amp;quot;file.close()&amp;quot; &amp;gt;&amp;gt; $DEVICE; sleep $SLEEPTIME&lt;br /&gt;
  echo &amp;quot;=========================&amp;quot;&lt;br /&gt;
  echo &amp;quot;now login on ESP and call&amp;quot;&lt;br /&gt;
  echo &amp;quot;node.restart()&amp;quot;&lt;br /&gt;
fi &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ollo</name></author>
	</entry>
</feed>