MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "Single_Digit_VFD_Clock",
        "continue": "gapcontinue||"
    },
    "warnings": {
        "main": {
            "*": "Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes."
        },
        "revisions": {
            "*": "Because \"rvslots\" was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new format will always be used."
        }
    },
    "query": {
        "pages": {
            "43": {
                "pageid": 43,
                "ns": 0,
                "title": "Remote Cellular Switch",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category: Airplane]]\n==Overview==\n[[File:IMG_20141220_223812.jpg|thumb|DIY GSM Remote Switch]]\n[[File:IMG_20141221_192921.jpg|thumb|Plugged in and ready to go...]]My airplane is equipped with an oil sump heater which can be turned on an hour or so before flight to warm up the oil, leading to quicker lubrication at startup and hence less engine wear.  Leaving it on 24/7 doesn't seem to be a good idea though, so there is the problem of getting it turned on before flight long enough to warm things up.  That's what this little gadget is for.  By sending an SMS to its phone number, the preheater can be turned on for a specified amount of time or at some point in the future.\n\nThe following commands are supported:\n\n* On <switchID> < time> <duration>\n::Turns <switchID> on in the future at <time> for <duration> minutes\n* On <switchID> <duration>\n::Turns <switchID> on now for <duration> minutes\n* Off <switchID>\n::Turns <switchID> off\n* Off\n::Turns all switches off\n* Temp\n::Returns the current temperature as measured by the external DS18B probe\n* Status\n::Returns the status of the switches, if they are on or scheduled to turn on.  \n\n\nCurrently there are two switchIDs, 1 and 2.  Duration is in minutes and the time format is hh:mm.  Use 24hr time.  If no time is specified the switch turns on immediately.\n\n==Hardware==\n[[File:relaySchematic.png|thumb|Power relay driver circuit]]\nI based this on a raspberry PI.  They have plenty of GPIO and a 3.3v level RS-232 port which is perfect for communicating with most of the GSM modem chips out there.  After I started I found this little guy which plugs right into a raspberry PI no extra wiring necessary: http://imall.iteadstudio.com/raspberry-pi-gsm-add-on.html  Some of the unused GPIO pins are brought out on that SIM900 breakout board so use ones that are convenient to get ahold of to plug the relays into.  \n\nThe SIM900 has a pretty simple interface using the standard 'AT' commands.  I wrote a pretty short Python program to set the SIM900 up and then react to the messages.  The best way I found to do it is put the module in a sort of 'asynchronous' mode so incoming text messages are output as soon as they come in.  It replies to valid commands with a confirmation message.  \n\n===Relay board pinout===\n{| class=\"wikitable\"\n|-\n! Pin\n! Desc\n|-\n| 1\n| +5v\n|-\n| 2\n| Relay 1\n|-\n| 3\n| Relay 2\n|-\n| 4\n| N/C\n|-\n| 5\n| N/C\n|-\n| 6\n| Gnd\n|}\n\n\n\nEach of the two [http://www.newark.com/webapp/wcs/stores/servlet/ProductDisplay?catalogId=15003&langId=-1&urlRequestType=Base&partNumber=66F6687&storeId=10194 relays] can handle up to 30 amps and have 5v 200mA coils.  To drive them I used 2n2222 transistors driven directly by the pi's 3.3v GPIO outputs with a 500 ohm resistor in series.  This should only draw a few mA from the GPIO and gets the transistor into saturation.  Put diodes backward across the coils to protect the transistors from voltage spikes when the relays turn off.  \n\n==Software==\nThe python software is on github at the following link:\nhttps://github.com/AD7ZJ/GsmSwitch\nPut it wherever you like on the PI's filesystem, and then add a line to /etc/rc.local.  Use the absolute path to the python script and be sure to put an & symbol afterwards so the rest of the boot process can proceed - the python script runs forever and never returns.\n\nEdit /etc/inittab and remove the line that sets up /dev/ttyAMA0 to be a console device - this must be removed to open the port with a user process."
                    }
                ]
            },
            "263": {
                "pageid": 263,
                "ns": 0,
                "title": "Single Digit IN-18 Nixie Clock",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "I think nixie tubes are pretty cool, and the IN-18 is one of the larger tubes out there. They are fairly expensive being somewhat rare, so I decided a clock using only one of them is sufficient! I drew up the schematic and laid out the board using Eagle, then printed it out on magazine paper to do the \"toner transfer\" method of etching. The circuit is quite simple, using a PIC16F690 to drive the digits and a small boost converter to boost the incoming 12v to ~170v. \n\n[[File:IMG 20170218 121822.jpg|border|500px]]\n\nI draw the circuit out in Eagle, route the board, and then print it on magazine paper with a laser printer. I rough up the copperclad with a scotchbrite pad and then get it nice and clean. Getting the top and bottom layer to line up adds an additional challenge. The way I did this was was to tape the top and bottom layers together on one end, such that they're lined up perfectly. You can shine a bright light from behind to see when the vias line up. Now lay the printout on the board and iron it on, then toss it into water.\n\n[[File:IMG 20170206 200119.jpg|border|500px]]\n\nOnce the paper is good and soggy, gently pull it off and the toner should be left behind, stuck to the copper. \n\n[[File:IMG 20170206 210918.jpg|border|500px]]\n\nHopefully it looks like this! \n\n[[File:IMG 20170206 210927.jpg|border|500px]]\n\nHere's the bottom. \n\n[[File:IMG 20170208 213246.jpg|border|500px]]\n\nAfter etching I drilled all the holes. Here it is being soldered together. I got some socket pins that fit the nixie tube so the nixie doesn't have to be directly soldered to. The software is written in C and built using the microchip free XC8 compiler. The PIC uses a 32.768 kHz crystal for the clock. This works pretty well but it gains a minute every so often. The caps balancing the crystal might need tweaking a little bit. \n\nI have the source files in a git repo:\nhttps://github.com/AD7ZJ/NixieClock"
                    }
                ]
            }
        }
    }
}