<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.twig.es/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.twig.es/index.php?action=history&amp;feed=atom&amp;title=More_complex_web_page</id>
		<title>More complex web page - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.twig.es/index.php?action=history&amp;feed=atom&amp;title=More_complex_web_page"/>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php?title=More_complex_web_page&amp;action=history"/>
		<updated>2026-05-06T18:33:09Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.0</generator>

	<entry>
		<id>https://wiki.twig.es/index.php?title=More_complex_web_page&amp;diff=4970&amp;oldid=prev</id>
		<title>George2: Created page with &quot;&lt;source lang = &quot;python&quot;&gt;  import machine import socket import math import utime import network import time   wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php?title=More_complex_web_page&amp;diff=4970&amp;oldid=prev"/>
				<updated>2023-02-11T11:49:24Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;source lang = &amp;quot;python&amp;quot;&amp;gt;  import machine import socket import math import utime import network import time   wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang = &amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import machine&lt;br /&gt;
import socket&lt;br /&gt;
import math&lt;br /&gt;
import utime&lt;br /&gt;
import network&lt;br /&gt;
import time&lt;br /&gt;
 &lt;br /&gt;
wlan = network.WLAN(network.STA_IF)&lt;br /&gt;
wlan.active(True)&lt;br /&gt;
wlan.connect(&amp;quot;ssid&amp;quot;,&amp;quot;password&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
# rgb led&lt;br /&gt;
red=machine.Pin(13,machine.Pin.OUT)&lt;br /&gt;
green=machine.Pin(14,machine.Pin.OUT)&lt;br /&gt;
blue=machine.Pin(15,machine.Pin.OUT)&lt;br /&gt;
 &lt;br /&gt;
# Wait for connect or fail&lt;br /&gt;
wait = 10&lt;br /&gt;
while wait &amp;gt; 0:&lt;br /&gt;
    if wlan.status() &amp;lt; 0 or wlan.status() &amp;gt;= 3:&lt;br /&gt;
        break&lt;br /&gt;
    wait -= 1&lt;br /&gt;
    print('waiting for connection...')&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
 &lt;br /&gt;
# Handle connection error&lt;br /&gt;
if wlan.status() != 3:&lt;br /&gt;
    raise RuntimeError('wifi connection failed')&lt;br /&gt;
else:&lt;br /&gt;
    print('connected')&lt;br /&gt;
    ip=wlan.ifconfig()[0]&lt;br /&gt;
    print('IP: ', ip)&lt;br /&gt;
 &lt;br /&gt;
# Temperature Sensor&lt;br /&gt;
sensor_temp = machine.ADC(4)&lt;br /&gt;
conversion_factor = 3.3 / (65535)&lt;br /&gt;
 &lt;br /&gt;
def temperature():&lt;br /&gt;
    temperature_value = sensor_temp.read_u16() * conversion_factor &lt;br /&gt;
    temperature_Celcius = 27 - (temperature_value - 0.706)/0.00172169/ 8 &lt;br /&gt;
    print(temperature_Celcius)&lt;br /&gt;
    utime.sleep(2)&lt;br /&gt;
    return temperature_Celcius&lt;br /&gt;
 &lt;br /&gt;
def webpage(value):&lt;br /&gt;
    html = f&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
            &amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
            &amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;form action=&amp;quot;./red&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;red &amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/form&amp;gt;&lt;br /&gt;
            &amp;lt;form action=&amp;quot;./green&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;green&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/form&amp;gt;&lt;br /&gt;
            &amp;lt;form action=&amp;quot;./blue&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;blue&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/form&amp;gt;&lt;br /&gt;
            &amp;lt;form action=&amp;quot;./off&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;off&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/form&amp;gt;&lt;br /&gt;
            &amp;lt;p&amp;gt;Temperature is {value} degrees Celsius&amp;lt;/p&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;br /&gt;
            &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    return html&lt;br /&gt;
 &lt;br /&gt;
def serve(connection):&lt;br /&gt;
    while True:&lt;br /&gt;
        client = connection.accept()[0]&lt;br /&gt;
        request = client.recv(1024)&lt;br /&gt;
        request = str(request)&lt;br /&gt;
        try:&lt;br /&gt;
            request = request.split()[1]&lt;br /&gt;
        except IndexError:&lt;br /&gt;
            pass&lt;br /&gt;
        &lt;br /&gt;
        print(request)&lt;br /&gt;
        &lt;br /&gt;
        if request == '/off?':&lt;br /&gt;
            red.low()&lt;br /&gt;
            green.low()&lt;br /&gt;
            blue.low()&lt;br /&gt;
        elif request == '/red?':&lt;br /&gt;
            red.high()&lt;br /&gt;
            green.low()&lt;br /&gt;
            blue.low()&lt;br /&gt;
        elif request == '/green?':&lt;br /&gt;
            red.low()&lt;br /&gt;
            green.high()&lt;br /&gt;
            blue.low()&lt;br /&gt;
        elif request == '/blue?':&lt;br /&gt;
            red.low()&lt;br /&gt;
            green.low()&lt;br /&gt;
            blue.high()&lt;br /&gt;
 &lt;br /&gt;
        value='%.2f'%temperature()    &lt;br /&gt;
        html=webpage(value)&lt;br /&gt;
        client.send(html)&lt;br /&gt;
        client.close()&lt;br /&gt;
 &lt;br /&gt;
def open_socket(ip):&lt;br /&gt;
    # Open a socket&lt;br /&gt;
    address = (ip, 80)&lt;br /&gt;
    connection = socket.socket()&lt;br /&gt;
    connection.bind(address)&lt;br /&gt;
    connection.listen(1)&lt;br /&gt;
    print(connection)&lt;br /&gt;
    return(connection)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
try:&lt;br /&gt;
    if ip is not None:&lt;br /&gt;
        connection=open_socket(ip)&lt;br /&gt;
        serve(connection)&lt;br /&gt;
except KeyboardInterrupt:&lt;br /&gt;
    machine.reset()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	</feed>